{"componentChunkName":"component---node-modules-gatsby-theme-medium-to-own-blog-src-templates-blog-post-js","path":"/it's-time-to-write-a-better-build-tool/","result":{"data":{"site":{"siteMetadata":{"siteUrl":"https://javame.netlify.app","githubUrl":"https://github.com/aterreno/blog"}},"mdx":{"fields":{"slug":"/it's-time-to-write-a-better-build-tool/"},"excerpt":"That’s what I’ve heard more than one time in the last months, half of my friends complain about maven, the other half is just  almost  happy…","timeToRead":1,"frontmatter":{"title":"It’s time to write a better build tool","description":"","categories":[],"date":"September 08, 2008","canonical_link":"https://javame.netlify.app//its-time-to-write-a-better-build-tool-c2aee7cc13c7"},"body":"function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\n/* @jsxRuntime classic */\n\n/* @jsx mdx */\nvar _frontmatter = {\n  \"title\": \"It’s time to write a better build tool\",\n  \"description\": \"\",\n  \"date\": \"2008-09-08T00:00:00.000Z\",\n  \"categories\": [],\n  \"published\": true,\n  \"canonical_link\": \"https://javame.netlify.app//its-time-to-write-a-better-build-tool-c2aee7cc13c7\",\n  \"redirect_from\": [\"/its-time-to-write-a-better-build-tool-c2aee7cc13c7\"]\n};\nvar layoutProps = {\n  _frontmatter: _frontmatter\n};\nvar MDXLayout = \"wrapper\";\nreturn function MDXContent(_ref) {\n  var components = _ref.components,\n      props = _objectWithoutProperties(_ref, [\"components\"]);\n\n  return mdx(MDXLayout, _extends({}, layoutProps, props, {\n    components: components,\n    mdxType: \"MDXLayout\"\n  }), mdx(\"p\", null, \"That\\u2019s what I\\u2019ve heard more than one time in the last months, half of my friends complain about maven, the other half is just \", mdx(\"em\", {\n    parentName: \"p\"\n  }, \"almost\"), \" happy with ant. The rubists are \", mdx(\"em\", {\n    parentName: \"p\"\n  }, \"generally\"), \" happy with rake, the biggest problems are on the java/.net world.\"), mdx(\"p\", null, \"So I thought about branching ant and rewriting it in a slightly different way, using yaml instead of xml and having always only one option for any task parameter. I always hated and found difficult to remember how to do things in ant since there are always two or more good alternatives (like why there\\u2019s a dir and a file parameter option in the delete command? Isn\\u2019t a directory a file?).\"), mdx(\"p\", null, \"So, I don\\u2019t think I\\u2019ll be able to allocate a lot of time to this, but I would love to hear something from you, ideas and comments.\"), mdx(\"p\", null, \"In the last weeks I\\u2019ve started to write a shared mind map with \", mdx(\"a\", _extends({\n    parentName: \"p\"\n  }, {\n    \"href\": \"http://rekursiv.se/\",\n    \"target\": \"_blank\",\n    \"rel\": \"nofollow noopener noreferrer\"\n  }), \"Staffan N\\xF6teberg\"), \" on micro time boxing\\u2026 Maybe we can do the same with this topic.\"), mdx(\"p\", null, \"Ping me if you\\u2019re interested.\"));\n}\n;\nMDXContent.isMDXComponent = true;"},"allWebMentionEntry":{"nodes":[]}},"pageContext":{"id":"062ab4ad-a2a3-5b96-84ae-9cab0289c038","previous":{"id":"f9ac1a39-a80b-53f6-ada7-b43173df5a12","fields":{"slug":"/this-site-will-not-harm-your-computer/","published":true},"frontmatter":{"redirect_from":["/this-site-will-not-harm-your-computer-fa746bcf4fae"],"redirect_to":null,"title":"This site will NOT harm your computer"}},"next":{"id":"f1823a96-9cb9-5ef9-b0ad-8df7afd76a45","fields":{"slug":"/reviving-jrake/","published":true},"frontmatter":{"redirect_from":["/reviving-jrake-64a2478ea858"],"redirect_to":null,"title":"Reviving JRake"}},"permalink":"https://javame.netlify.app/it's-time-to-write-a-better-build-tool/","themeOptions":{"plugins":[],"config":{"title":"Antonio Terreno","description":"Antonio Terreno's blog archive","shortBio":"","bio":"Principal Consultant at Equal Experts","author":"Antonio Terreno","githubUrl":"https://github.com/aterreno/blog","siteUrl":"https://javame.netlify.app/","social":{"twitter":"javame","medium":"","facebook":"","github":"aterreno","linkedin":"antonioterreno","instagram":"tritonitri"},"goatCounterCode":null}}}},"staticQueryHashes":["4131332129","645483741"]}