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>

Reply via email to