Re: Switch to maven?
Hi, I am also in favor of Gradle, Maven always scares me with it's complex xml-format. I just committed an initial build/test setup in Gradle via subprojects, currently they are defined as "virtual" subprojects under build/... as we would create a few additional build-directories otherwise and I wanted to keep the overall impact minimal for now. I still use one step from the Ant-build, namely "compile-ooxml-xsds", but otherwise everything related to dependencies, compiling and running tests is done in pure Gradle now. Note: you likely need to run something like "LANG=en_US.UTF-8 LANGUAGE= LC_ALL= gradle check" to have locale set to en_US, I could not set this for the unit-tests in the build.gradle. Feel free to revamp this if you have more knowledge of Gradle (which is likely as I only copy/pasted most stuff from elsewhere), I hope this is a start for a refreshed build-system in POI! Thanks... Dominik. On Thu, Sep 22, 2016 at 1:24 PM, Javen O'Nealwrote: > Looks like.we will lose Gump support if we upgrade to Maven2 or Gradle, not > that we have been doing much with the Gump CI build timeout errors. > > https://en.wikipedia.org/wiki/Comparison_of_continuous_ > integration_software > > On Sep 22, 2016 03:23, "Javen O'Neal" wrote: > > > I have added Gradle support in r1761871 [1] with one line of code, > > though requires that Ant be installed on the system. > > > > I would like to leapfrog Maven. While it does offer some dependency > > benefits and enjoys pretty high market share, reading and writing XML > > is something that should be reserved exclusively for computers, and > > that's my biggest gripe with Ant. > > > > Whatever solution we go with, we probably want to maintain 2 solutions > > in parallel for a year or more while we rewrite the build targets in > > build.xml into the new build file(s). > > > > Informally, here's the relative popularity of these build tools over > > the last 5 years. Maven is the de facto standard for Java projects, > > but build tools with DSLs (Gradle: Groovy, SBT: Scala, Bazel: Python) > > are gaining popularity. > > https://www.google.com/trends/explore?cat=5=Ant,Ivy,Maven,Gradle,SBT > > which is roughly the same as > > https://www.google.com/trends/explore?cat=5=build.xml,pom. > > xml,build.gradle,.sbt > > but is less likely to include queries about insects and plants. > > > > Another heartbeat is to search large open source code repositories to > > see what kinds of build tools are being used. Unfortunately, > > github.com/search is garbage if you want to search for exact file > > names. > > Searching google.com for each build filename, we get: > > build.xml (Ant): 2.33 million > > pom.xml (Maven): 3.3 million > > build.gradle (Gradle): 0.49 million > > .sbt (Scala Build Tool): 0.399 million > > Gradle: 1073 > > > > [1] https://svn.apache.org/viewvc?view=revision=1761871 > > > > On Thu, Mar 10, 2016 at 4:42 AM, Nick Burch > wrote: > > > On Thu, 10 Mar 2016, Dominik Stadler wrote: > > >> > > >> Here a few initial ideas where we could improve this: > > >> > > >> 1. Add some CI to the Github project so that PRs are automatically > > >> verified > > > > > > > > > I think some other Apache projects already do something like this. > Maybe > > ask > > > on dev@community > > > > > >> 2. Move to Git/Github > > > > > > > > > Moving to Github is not allowed. See dev@community and board@ for > > > discussions and details. Other than an experiment with Whimsy, ASF > source > > > control systems (either SVN or GIT-WIP) must remain the canonical > source > > > > > > Moving to Git is possible, and Tika has just done so. Needs > > documentation, > > > and guideance, again dev@community probably the best place to ask for > > advice > > > on that > > > > > >> 5. Use some donation-scheme for bugfixes so people affected by bugs > can > > >> offer some compensation and developers can make some money for fixing > > >> certain bugs > > > > > > > > > You need to take care here - targetted donations are not allowed, and > > no-one > > > can promise that any fix will be accepted by the project. (Someone > could > > pay > > > you to write a patch that removes Excel support, for example, and while > > you > > > could take their money and write them the patch, the community would > veto > > > applying it to trunk! Extreme example, but gives the idea) > > > > > > I'd suggest you go watch / listen to a previous "The Apache Way" talk > :) > > > > > > Bug bounties can be done, but need a bit of care. general@incubator > has > > some > > > discussions on this, probably more than dev@community, as the > incubator > > has > > > more people learning how to adapt to Apache-like development. Ask, > learn, > > > implement! :) > > > > > > Nick > > > > > > > > > - > > > To unsubscribe, e-mail: dev-unsubscr...@poi.apache.org > > > For additional commands, e-mail:
Re: Switch to maven?
Looks like.we will lose Gump support if we upgrade to Maven2 or Gradle, not that we have been doing much with the Gump CI build timeout errors. https://en.wikipedia.org/wiki/Comparison_of_continuous_integration_software On Sep 22, 2016 03:23, "Javen O'Neal"wrote: > I have added Gradle support in r1761871 [1] with one line of code, > though requires that Ant be installed on the system. > > I would like to leapfrog Maven. While it does offer some dependency > benefits and enjoys pretty high market share, reading and writing XML > is something that should be reserved exclusively for computers, and > that's my biggest gripe with Ant. > > Whatever solution we go with, we probably want to maintain 2 solutions > in parallel for a year or more while we rewrite the build targets in > build.xml into the new build file(s). > > Informally, here's the relative popularity of these build tools over > the last 5 years. Maven is the de facto standard for Java projects, > but build tools with DSLs (Gradle: Groovy, SBT: Scala, Bazel: Python) > are gaining popularity. > https://www.google.com/trends/explore?cat=5=Ant,Ivy,Maven,Gradle,SBT > which is roughly the same as > https://www.google.com/trends/explore?cat=5=build.xml,pom. > xml,build.gradle,.sbt > but is less likely to include queries about insects and plants. > > Another heartbeat is to search large open source code repositories to > see what kinds of build tools are being used. Unfortunately, > github.com/search is garbage if you want to search for exact file > names. > Searching google.com for each build filename, we get: > build.xml (Ant): 2.33 million > pom.xml (Maven): 3.3 million > build.gradle (Gradle): 0.49 million > .sbt (Scala Build Tool): 0.399 million > Gradle: 1073 > > [1] https://svn.apache.org/viewvc?view=revision=1761871 > > On Thu, Mar 10, 2016 at 4:42 AM, Nick Burch wrote: > > On Thu, 10 Mar 2016, Dominik Stadler wrote: > >> > >> Here a few initial ideas where we could improve this: > >> > >> 1. Add some CI to the Github project so that PRs are automatically > >> verified > > > > > > I think some other Apache projects already do something like this. Maybe > ask > > on dev@community > > > >> 2. Move to Git/Github > > > > > > Moving to Github is not allowed. See dev@community and board@ for > > discussions and details. Other than an experiment with Whimsy, ASF source > > control systems (either SVN or GIT-WIP) must remain the canonical source > > > > Moving to Git is possible, and Tika has just done so. Needs > documentation, > > and guideance, again dev@community probably the best place to ask for > advice > > on that > > > >> 5. Use some donation-scheme for bugfixes so people affected by bugs can > >> offer some compensation and developers can make some money for fixing > >> certain bugs > > > > > > You need to take care here - targetted donations are not allowed, and > no-one > > can promise that any fix will be accepted by the project. (Someone could > pay > > you to write a patch that removes Excel support, for example, and while > you > > could take their money and write them the patch, the community would veto > > applying it to trunk! Extreme example, but gives the idea) > > > > I'd suggest you go watch / listen to a previous "The Apache Way" talk :) > > > > Bug bounties can be done, but need a bit of care. general@incubator has > some > > discussions on this, probably more than dev@community, as the incubator > has > > more people learning how to adapt to Apache-like development. Ask, learn, > > implement! :) > > > > Nick > > > > > > - > > To unsubscribe, e-mail: dev-unsubscr...@poi.apache.org > > For additional commands, e-mail: dev-h...@poi.apache.org > > >
Re: Switch to maven?
I have added Gradle support in r1761871 [1] with one line of code, though requires that Ant be installed on the system. I would like to leapfrog Maven. While it does offer some dependency benefits and enjoys pretty high market share, reading and writing XML is something that should be reserved exclusively for computers, and that's my biggest gripe with Ant. Whatever solution we go with, we probably want to maintain 2 solutions in parallel for a year or more while we rewrite the build targets in build.xml into the new build file(s). Informally, here's the relative popularity of these build tools over the last 5 years. Maven is the de facto standard for Java projects, but build tools with DSLs (Gradle: Groovy, SBT: Scala, Bazel: Python) are gaining popularity. https://www.google.com/trends/explore?cat=5=Ant,Ivy,Maven,Gradle,SBT which is roughly the same as https://www.google.com/trends/explore?cat=5=build.xml,pom.xml,build.gradle,.sbt but is less likely to include queries about insects and plants. Another heartbeat is to search large open source code repositories to see what kinds of build tools are being used. Unfortunately, github.com/search is garbage if you want to search for exact file names. Searching google.com for each build filename, we get: build.xml (Ant): 2.33 million pom.xml (Maven): 3.3 million build.gradle (Gradle): 0.49 million .sbt (Scala Build Tool): 0.399 million Gradle: 1073 [1] https://svn.apache.org/viewvc?view=revision=1761871 On Thu, Mar 10, 2016 at 4:42 AM, Nick Burchwrote: > On Thu, 10 Mar 2016, Dominik Stadler wrote: >> >> Here a few initial ideas where we could improve this: >> >> 1. Add some CI to the Github project so that PRs are automatically >> verified > > > I think some other Apache projects already do something like this. Maybe ask > on dev@community > >> 2. Move to Git/Github > > > Moving to Github is not allowed. See dev@community and board@ for > discussions and details. Other than an experiment with Whimsy, ASF source > control systems (either SVN or GIT-WIP) must remain the canonical source > > Moving to Git is possible, and Tika has just done so. Needs documentation, > and guideance, again dev@community probably the best place to ask for advice > on that > >> 5. Use some donation-scheme for bugfixes so people affected by bugs can >> offer some compensation and developers can make some money for fixing >> certain bugs > > > You need to take care here - targetted donations are not allowed, and no-one > can promise that any fix will be accepted by the project. (Someone could pay > you to write a patch that removes Excel support, for example, and while you > could take their money and write them the patch, the community would veto > applying it to trunk! Extreme example, but gives the idea) > > I'd suggest you go watch / listen to a previous "The Apache Way" talk :) > > Bug bounties can be done, but need a bit of care. general@incubator has some > discussions on this, probably more than dev@community, as the incubator has > more people learning how to adapt to Apache-like development. Ask, learn, > implement! :) > > Nick > > > - > To unsubscribe, e-mail: dev-unsubscr...@poi.apache.org > For additional commands, e-mail: dev-h...@poi.apache.org > - To unsubscribe, e-mail: dev-unsubscr...@poi.apache.org For additional commands, e-mail: dev-h...@poi.apache.org
Re: Switch to maven?
On Thu, 10 Mar 2016, Dominik Stadler wrote: Here a few initial ideas where we could improve this: 1. Add some CI to the Github project so that PRs are automatically verified I think some other Apache projects already do something like this. Maybe ask on dev@community 2. Move to Git/Github Moving to Github is not allowed. See dev@community and board@ for discussions and details. Other than an experiment with Whimsy, ASF source control systems (either SVN or GIT-WIP) must remain the canonical source Moving to Git is possible, and Tika has just done so. Needs documentation, and guideance, again dev@community probably the best place to ask for advice on that 5. Use some donation-scheme for bugfixes so people affected by bugs can offer some compensation and developers can make some money for fixing certain bugs You need to take care here - targetted donations are not allowed, and no-one can promise that any fix will be accepted by the project. (Someone could pay you to write a patch that removes Excel support, for example, and while you could take their money and write them the patch, the community would veto applying it to trunk! Extreme example, but gives the idea) I'd suggest you go watch / listen to a previous "The Apache Way" talk :) Bug bounties can be done, but need a bit of care. general@incubator has some discussions on this, probably more than dev@community, as the incubator has more people learning how to adapt to Apache-like development. Ask, learn, implement! :) Nick - To unsubscribe, e-mail: dev-unsubscr...@poi.apache.org For additional commands, e-mail: dev-h...@poi.apache.org
Re: Switch to maven?
Hi Andi, On Ant vs. Maven: could we at least combine the Sonar and normal Maven scripts to at least start removing some of the duplication here? On the general discussion: I also sometimes feel that I am allowed to work on what sounds interesting and do not need to do one bugfix after the other. And I like that you are taking on such tasks so that we do not have a single changelog-entry "bugfixes" in the release announcement. We should find some balance to have a mature and stable product with up-to-date features. POI is open source, everybody who stumbles across a bug can step in. What we should however do is to make it as easy as possible for others to provide bugfixes. Here a few initial ideas where we could improve this: 1. Add some CI to the Github project so that PRs are automatically verified 2. Move to Git/Github 3. Use Apache Yetus to have a default process for verifying patches, see https://yetus.apache.org/, although it does not seem to support SVN, so 2. would be a prerequisite 4. Alternatively we could automate verification of patches in bugzilla to provide quicker response, although I feel that the entries in bugzilla are not streamlined enough to easily automate verification, Github would provide all of this out-of-the-box! 5. Use some donation-scheme for bugfixes so people affected by bugs can offer some compensation and developers can make some money for fixing certain bugs 5. ... what else? I would like to do at least 1. fairly soon as it can be done very easily just by adding a .travis.yml file with build-definitions. Dominik. On Thu, Mar 10, 2016 at 12:46 AM, Andreas Beekerwrote: > Hi, > > first of all, thank you for your comments. > > TL;DR: I put it on hold. > > > > However also Gradle has quite a learning curve, ... > > I've checked their quick start for the first time ... probably I'm unaware > of Gradle as I'm not an android developer, > and only a maven user of spring(/hibernate)/... - at least it seems to > grow fast [1] > > > > there is quite a bit more in the Ant build ... > > yes ... nothing I'd fear about moving ;) ... my motivation for the switch > is the things I forget, > when something is changed ... e.g. for a new library dependency (1) the > download in the ant build, > (2) the lib file location, (3) the sonar pom, (4) the maven pom, (5) the > eclipse project needs to be changed. > With a build based on maven, only the corresponding maven pom needs to be > changed and > the IDEs usually update their config automatically. > > > > ... "haven't you got enough real bugs to work on, without breaking > something that works" > > Off-topic: hmm ... I know that saying from my $dayjob ... if you work on a > budget, you need to do what is requested ... > ... whereas on an open source project, you can do what is accepted and > hopefully makes sense. > So even if there are a few hundred bugs opened, I still prefer to do what > I'm interested in (my free time ...) > So lets get back to the topic ... > > > > clean-ups the directory structures ... risks breaking lots of pending > patches and private forks > > @pending patches: I wouldn't change the package structure, so patching > with ignored root folders > should be still possible > > @private forks: do we really care about who is forking us? ... I know this > a limited attitude, but keeping > our API stable is sometimes already a burden ... I don't want to think > about the impact what happens > when I modify the internals (e.g. refractoring), just because someone > anonymous has modifications on > a historical revision of our trunk > > > > Don't the existing ant-generated maven poms have all that in? > at least they need to be adapted when new external versions are used. > > > > Plus the website, which is where most people seem to look. ... > The info on the website would be still valid for quite some time. > > > > I really worry that if we add more, even more beginners won't be able to > get it working and will give up ... > Although I like the idea of scratchpad, i.e. to try something new and not > always obey the rules of api stability, > the code partitioning in the maven modules are a bit confusing - not sure > if this makes more sense, > but I would prefer something like: > - poi-core : poifs, opcpackage > - either poi-ss or poi-xssf/poi-hssf > - same for sl, wp, visio > the (xml-)modules would contain the format specific lite-versions of the > schemas or even the full JAXB schemas. *) > So a user needs to reference only poi-ss (poi-core would be a transitive > maven dependency) > > *) (sorry again, as I stressed this several times and haven't brought up a > POC with JAXB up till now) > > > > ... and whine when people point them at the docs / tell them to use > maven / etc... > hmm ... I only know it the other way around, i.e. they whine first and > when pointed to the FAQ (#faq-N10025) > it's usually solved ... > > > So currently my motivation to progress in this direction is bit hushed. > I
Re: Switch to maven?
On Thu, 10 Mar 2016, Andreas Beeker wrote: However also Gradle has quite a learning curve, ... I've checked their quick start for the first time ... probably I'm unaware of Gradle as I'm not an android developer, and only a maven user of spring(/hibernate)/... - at least it seems to grow fast [1] I've had a play with it, and mostly like it. As with Maven, there's rather a lot of black magic where defaults apply and "stuff happens", but when you do want to override things I've found it mostly easier to customise than Maven, but not as easy as Ant. I'd probably rather switch to Gradle than Maven, if we had to! there is quite a bit more in the Ant build ... yes ... nothing I'd fear about moving ;) ... my motivation for the switch is the things I forget, when something is changed ... e.g. for a new library dependency (1) the download in the ant build, (2) the lib file location, (3) the sonar pom, (4) the maven pom, (5) the eclipse project needs to be changed. With a build based on maven, only the corresponding maven pom needs to be changed and the IDEs usually update their config automatically. I could probably knock up a quick ant check to warn when dependency changes aren't matched in those other files, but that's tackling a symptom! ... "haven't you got enough real bugs to work on, without breaking something that works" Off-topic: hmm ... I know that saying from my $dayjob ... It was meant mostly as a joke :) clean-ups the directory structures ... risks breaking lots of pending patches and private forks @pending patches: I wouldn't change the package structure, so patching with ignored root folders should be still possible Package struture would remain, but directory structure would change, which'd break things. A patch that used to apply to src/scratchpad/src would now need to apply to scratchpad/src/main/java so would break @private forks: do we really care about who is forking us? ... We care about them tracking trunk, and we care about them being able to give stuff back. If we break their private forks, many will simply freeze their fork and stop tracking trunk. That means they and their users will miss out on fixes, and the chances of them contributing new things and patches drops off. Apache POI ends up in huge numbers of frameworks and other systems, a great many of which patch even if only slightly. Many of those lag new versions, which causes issues for people who want to use POI for other stuff as well in those versions. (Search for POI + ColdFusion or POI + Jasper for two examples that immediately come to mind, where I've seen people struggling). Anything we do to make upgrading a private minor fork will dramatically lower the chance of that fork upgrading. (Where that fork might just be half a dozen patches that someone manually applies to a source download before building and packaging, or might be a more formal thing closer to a true fork) but I would prefer something like: - poi-core : poifs, opcpackage That means core needs XML stuff. Our XML stuff doesn't play that nicely with Android, so I believe (from stackoverflow posts) that many android devs just use poi + poi-scratchpad and avoid the OOXML formats. This plan would mean, unless we took on board the Android stuff and produced builds with the workarounds as standard, that many Android projects (amongst others) would stop upgrading the (xml-)modules would contain the format specific lite-versions of the schemas or even the full JAXB schemas. *) So a user needs to reference only poi-ss (poi-core would be a transitive maven dependency) *) (sorry again, as I stressed this several times and haven't brought up a POC with JAXB up till now) Maybe a move to JAXB is a chance to do this, as we'd be making dramatic changes then to dependencies and schemas anyway? ... and whine when people point them at the docs / tell them to use maven / etc... hmm ... I only know it the other way around, i.e. they whine first and when pointed to the FAQ (#faq-N10025) it's usually solved ... I assume that a great many people don't get to the whining stage, they just give up / bodge something horrible, and that's a set of potential new developers we've missed out on :/ Nick - To unsubscribe, e-mail: dev-unsubscr...@poi.apache.org For additional commands, e-mail: dev-h...@poi.apache.org
Re: Switch to maven?
Hi, first of all, thank you for your comments. TL;DR: I put it on hold. > However also Gradle has quite a learning curve, ... I've checked their quick start for the first time ... probably I'm unaware of Gradle as I'm not an android developer, and only a maven user of spring(/hibernate)/... - at least it seems to grow fast [1] > there is quite a bit more in the Ant build ... yes ... nothing I'd fear about moving ;) ... my motivation for the switch is the things I forget, when something is changed ... e.g. for a new library dependency (1) the download in the ant build, (2) the lib file location, (3) the sonar pom, (4) the maven pom, (5) the eclipse project needs to be changed. With a build based on maven, only the corresponding maven pom needs to be changed and the IDEs usually update their config automatically. > ... "haven't you got enough real bugs to work on, without breaking something > that works" Off-topic: hmm ... I know that saying from my $dayjob ... if you work on a budget, you need to do what is requested ... ... whereas on an open source project, you can do what is accepted and hopefully makes sense. So even if there are a few hundred bugs opened, I still prefer to do what I'm interested in (my free time ...) So lets get back to the topic ... > clean-ups the directory structures ... risks breaking lots of pending patches > and private forks @pending patches: I wouldn't change the package structure, so patching with ignored root folders should be still possible @private forks: do we really care about who is forking us? ... I know this a limited attitude, but keeping our API stable is sometimes already a burden ... I don't want to think about the impact what happens when I modify the internals (e.g. refractoring), just because someone anonymous has modifications on a historical revision of our trunk > Don't the existing ant-generated maven poms have all that in? at least they need to be adapted when new external versions are used. > Plus the website, which is where most people seem to look. ... The info on the website would be still valid for quite some time. > I really worry that if we add more, even more beginners won't be able to get > it working and will give up ... Although I like the idea of scratchpad, i.e. to try something new and not always obey the rules of api stability, the code partitioning in the maven modules are a bit confusing - not sure if this makes more sense, but I would prefer something like: - poi-core : poifs, opcpackage - either poi-ss or poi-xssf/poi-hssf - same for sl, wp, visio the (xml-)modules would contain the format specific lite-versions of the schemas or even the full JAXB schemas. *) So a user needs to reference only poi-ss (poi-core would be a transitive maven dependency) *) (sorry again, as I stressed this several times and haven't brought up a POC with JAXB up till now) > ... and whine when people point them at the docs / tell them to use maven / > etc... hmm ... I only know it the other way around, i.e. they whine first and when pointed to the FAQ (#faq-N10025) it's usually solved ... So currently my motivation to progress in this direction is bit hushed. I thought about creating a branch and using externals to link the trunk to see if for a point X in time the results of the ant and maven build are the same ... but there are some reasons given, which I can't really argue without knowing our users reactions ... so I put it on hold for the time being. Andi [1] https://discuss.gradle.org/t/what-open-source-projects-use-gradle-as-the-default-build-tool/7469 - To unsubscribe, e-mail: dev-unsubscr...@poi.apache.org For additional commands, e-mail: dev-h...@poi.apache.org
Re: Switch to maven?
Hi, if I could choose freely, I would use Gradle by now, Maven still confuses me quite a lot. However also Gradle has quite a learning curve, so it would force all committers and users to learn quite a lot, so all-in-all I am also more inclined to keep the current build-system in place. My suggestion towards ivy was to standardize a bit how we fetch and use 3rd party stuff to make it similar to Maven and reduce some of the code in the build.xml And note that the stuff in sonar/ only does the bare minimum to let Sonar do the analysis, there is quite a bit more in the Ant build: rat-check, findbugs, correctly packaging the jars, signing, forbidden-api-check, integration-tests, proper ooxml-lite, generate-geometry, ... Dominik. On Wed, Mar 9, 2016 at 1:20 AM, Nick Burchwrote: > On Wed, 9 Mar 2016, Andreas Beeker wrote: > >> I'd keen to switch our ant build to a modulized maven build. I guess >> there were already several discussions about this topic, but I couldn't >> find them on a quick view. >> > > IIRC, the stuff for building the ooxml-lite jars was felt to be one bit > which'd be a lot of work to change over. There was also the "haven't you > got enough real bugs to work on, without breaking something that works" ;-) > > > I expect that this change ... >> - clean-ups the directory structures >> > > We could do that now, if we wanted, but it risks breaking lots of pending > patches and private forks > > - better documents the external dependencies >> > > Don't the existing ant-generated maven poms have all that in? Plus the > website, which is where most people seem to look. Well, I say most people, > based on the stackoverflow questions most people don't bother, guess, guess > wrong, and whine when people point them at the docs / tell them to use > maven / etc... > > For a start I'd move the poi modules 1:1 to poms, but eventually I'd like >> to have format based poms for Excel, Powerpoint, ... >> > > See above on large parts of our new users already stuffing things up when > faced with basically just 3 POI jars. I really worry that if we add more, > even more beginners won't be able to get it working and will give up / > waste lots of time. We'd also break 10+ years of "stop being a muppet and > follow this to fix your build by including the jars the docs tell you to" > worth of advice out there on the internet > > (Just check stackoverflow for people confused by tutorials or guides > mentioning the poi-contrib package, which we removed some time ago, and the > crazy stuff they end up doing to try to get it back without understanding > what they're doing, for why I'm reluctant to change things here without > very strong reasons!) > > Nick > > > - > To unsubscribe, e-mail: dev-unsubscr...@poi.apache.org > For additional commands, e-mail: dev-h...@poi.apache.org > >
Re: Switch to maven?
On Wed, 9 Mar 2016, Andreas Beeker wrote: I'd keen to switch our ant build to a modulized maven build. I guess there were already several discussions about this topic, but I couldn't find them on a quick view. IIRC, the stuff for building the ooxml-lite jars was felt to be one bit which'd be a lot of work to change over. There was also the "haven't you got enough real bugs to work on, without breaking something that works" ;-) I expect that this change ... - clean-ups the directory structures We could do that now, if we wanted, but it risks breaking lots of pending patches and private forks - better documents the external dependencies Don't the existing ant-generated maven poms have all that in? Plus the website, which is where most people seem to look. Well, I say most people, based on the stackoverflow questions most people don't bother, guess, guess wrong, and whine when people point them at the docs / tell them to use maven / etc... For a start I'd move the poi modules 1:1 to poms, but eventually I'd like to have format based poms for Excel, Powerpoint, ... See above on large parts of our new users already stuffing things up when faced with basically just 3 POI jars. I really worry that if we add more, even more beginners won't be able to get it working and will give up / waste lots of time. We'd also break 10+ years of "stop being a muppet and follow this to fix your build by including the jars the docs tell you to" worth of advice out there on the internet (Just check stackoverflow for people confused by tutorials or guides mentioning the poi-contrib package, which we removed some time ago, and the crazy stuff they end up doing to try to get it back without understanding what they're doing, for why I'm reluctant to change things here without very strong reasons!) Nick - To unsubscribe, e-mail: dev-unsubscr...@poi.apache.org For additional commands, e-mail: dev-h...@poi.apache.org
Switch to maven?
Hi, I'd keen to switch our ant build to a modulized maven build. I guess there were already several discussions about this topic, but I couldn't find them on a quick view. Most of the work has been already done by Dominik in the sonar builds, so I hope it's not too time consuming to change. I expect that this change ... - clean-ups the directory structures - obsoletes the maintaining of the sonar poms - better documents the external dependencies - maybe provide a better tool integration ... (although I can't complain ...) Last time I've talked with Dominik about that topic, he favored Apache Ivy (... if I remember correctly ...) I have to admit, that I haven't played much with other dependency managers and maven might be already out of date ... but as our release artifacts are still poms, this switch don't seem to be so far off ... For a start I'd move the poi modules 1:1 to poms, but eventually I'd like to have format based poms for Excel, Powerpoint, ... What do you think? (if possible, link to an old thread) Andi - To unsubscribe, e-mail: dev-unsubscr...@poi.apache.org For additional commands, e-mail: dev-h...@poi.apache.org