Weird. Looks like the blog.artifact-software.com isn’t responding to DNS . At least on our network..
On Tue, Sep 22, 2015 at 11:29 AM, Ron Wheeler < rwhee...@artifact-software.com> wrote: > You have clearly given this a lot of thought and your project is just a > bit less than twice as large as ours so I am not sure about giving advice. > > http://blog.artifact-software.com/tech/?p=84 is an article that I wrote a > few years ago dealing with our approach to the same problem. > > Our solution to the version management problem may not be to your tastes > but it did save us a lot of grief and served us well once we got through > the first few releases where we were touching every piece of source code on > each release. > > We essentially started treating our own code as if it was OSS. > This made us think about modularity and functional separation into > projects and changed our ideas about versions. > > Ron > > > > On 22/09/2015 1:47 PM, Kevin Burton wrote: > >> We have a multi-module setup whereby we have about 150 independent >> modules. >> >> Our build takes a long time and actually slows down development as we have >> to do a compile of a LOT of source code to rebuild the project. >> >> Additionally, we have a lot of code that we want to Open Source. >> >> This has meant git submodules the IMO git submodules really don’t work >> when >> using branches. They break and require a whole bunch of custom works and >> hack and when they DO break it’s confusing how to resolve them. >> >> This has meant that we’ve not really done a good job of OSSing our code >> base as its just too hard. >> >> What we’ve done to date is just have one major version number across all >> our projects. So upgrading them and fixing their dependencies means that >> I >> just have to change a version number everywhere and I’m done. >> >> What I was thinking of is changing this strategy to use the maven >> "versions:use-latest-versions” plugin. >> >> What i would do is have a parent directory named ‘spinn3r’ which just has >> a >> bunch of git submodules. We NEVER branch in this directory. >> >> It also means that any of our developers can check it out so that they >> have >> all of our source code. >> >> At this point I can use a normal development strategy for each project. >> They don’t use submodules which enables us to branch/merge easily. >> >> I can also have a dedicated IntelliJ or Eclipse project for each one and >> switch between them. >> >> Now the main issue I have is how do I bump releases easily and make sure >> all my code is using the latest version of its sibling projects. >> >> In the parent directory I can just run versions:use-latest-versions … on >> each one of the projects so that it automatically pulled in the latest >> version after a release. >> >> The only problem here is that there’s a dependency graph that needs to be >> considered. >> >> for example, if project A depends on project B, then we have to bump the >> version and push project B into maven before we upgrade dependencies on >> project A. >> >> This is a frustrating issue… >> >> > > -- > Ron Wheeler > President > Artifact Software Inc > email: rwhee...@artifact-software.com > skype: ronaldmwheeler > phone: 866-970-2435, ext 102 > > > --------------------------------------------------------------------- > To unsubscribe, e-mail: users-unsubscr...@maven.apache.org > For additional commands, e-mail: users-h...@maven.apache.org > > -- 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>