The problem I have here is that this would definitely fix my problem. Breaking it out into another OSS project would be sweet…
BUT… it would introduce its own set of problems. Now I have two projects to maintain. And the number is increasing… From an IDE perspective, I have to have N windows and switch between them, and remember which file is in which project. I find it’s 100x easier to just keep everything in one project. I could use git-submodules… but IDEA breaks on them and they have a few gotchas. … but perhaps there’s no perfect solution. Just a few solutions that are less horrible than my current solution. Kevin On Thu, Sep 11, 2014 at 10:53 PM, Barrie Treloar <baerr...@gmail.com> wrote: > On 12 September 2014 12:55, Kevin Burton <bur...@spinn3r.com> wrote: > > > I have an OSS module in a multi-module maven project. > > > > I want to post this to a public repo… it’s open source. > > > > The problem is that the parent module is not OSS. > > > > When I setup a <dependency> it pulls in my OSS module just fine, but then > > it tries to pull down the parent module, which isn’t in the repo, and > > breaks. > > > > The parent pom isn’t really a dependency… so I’d like it to not need it > > > > is this possible? > > > As Dan says, make it a stand alone project. > i.e. Dont make it a module. > > Being a module has a special meaning - "treat this as part of a bigger > whole". > It also help with syntatic sugar by allowing you to run one command at the > top and have it propogate into all the modules. > > To be complete a module has nothing to do with dependencies or dependency > management. > > The reason your OSS module is pulling in the parent is not because of > dependency, but because of inheritance of the parent hierarchy. > > Usually all modules are released together and will share version > identifiers. > If they are released independently then you normally wont make them > modules, and their version identifiers can do their own thing. > There is a recent post "Maintaining versions in a multi-module project" > that Stephen answers, you might also want to search the archives on this > topic as well. > > A parent pom can be used in two ways; 1) to share common information i.e. > "inheritance" 2) keep related artifacts together to make working on a bug > that traverses artifacts easier i.e "aggregation" > > In your case I dont think you need to use aggregation, you just need to > pull out the OSS artifact into its own stand alone location and then > include it as a normal dependency in your non-OSS project. > > If you find that you are also fixing bugs in the OSS project at the same > time you are working on the non-OSS one, then you might want to create an > aggregate pom that has two modules (one OSS, the other non-OSS) so that you > can run maven commands in one place against both projects. Stephen Connolly > has some stuff somewhere about that I think. > The freely availble Maven books might also go into this in more detail, but > it tends to be a more advanced feature not well described. > > Cheers > Barrie > -- Founder/CEO Spinn3r.com Location: *San Francisco, CA* blog: http://burtonator.wordpress.com … or check out my Google+ profile <https://plus.google.com/102718274791889610666/posts> <http://spinn3r.com>