java - Using a tool like Ivy or Maven, is it possible to identify a dependency that is source only? -


our organization uses sort-of hacked form of java dependency management, relying on ide configurations , maintaining repository of these configs can checked out. have hybrid of dependencies; of them .jars third parties, whereas others projects (in eclipse parlance) or modules (in intellij parlance) developed internally. don't have "customer" ship nor have open source community (we're research lab) typically don't generate binaries of of our work. basically, of our internal code working source. poses problems, though:

  1. this doesn't translate our ci server, means have maintain repository of ant scripts identifying source dependencies on classpath bamboo can figure out build properly. annoying.
  2. this method isn't cross-ide; of our devs prefer eclipse while others prefer intellij idea. if it'll make our developers more productive letting them pick environment of choice, don't want in way of that.
  3. this method in of pretty brittle; if makes new project, have spend bunch of time fiddling bamboo's ant scripts , re-exporting our ide configs.

i'd move our researchers towards more software-engineer-y approach automated build/dependency management allow portability between ide's our ci setup, seems reading of tutorials maven , ivy (haven't spent time looking @ other tools yet) general idea define binary dependencies, option pull down sources in .m2 or .ivy2 extra, not sole method of dependency management. ideally, able use 1 of these tools way handle both binary dependencies third parties our internal source dependencies pointing our internal version control. possible existing tools or there tool i'm not aware of allow this?

edit

maybe better way state i'm looking not dependency management purpose of triggering build, managing dependencies when initializing fresh development environment. check out project a, , dependency manager checks out of relevant local sources , third party .jars; in java, isn't far removed building since ide's nice gui's around classpath/dependency management fancy text editor thrown in didn't think request farfetched, may have failed think hard enough.

i'm preeeeetty sure answer incomplete...

it true maven , ivy , (gradle, sbt, rake) base on binary dependencies - 1 run applications based on jar files not on sources.

in addition can generate source jars allow others inside work - more important public projects , not internal ones. recommend generate source jars. archived in maven repository.

the news: doesn't matter. think confusion comes responsibilities between used ide , build tool(s). ease continuous integration need take ide out of calculation , base build solely on build tool. ide extract information needs build tool configs , configure project. thats why support build system important in ide.

i think may issue here have several projects in several source repositories (svn, git, ...) come in ide. think thats not (if true). maven maintain information on project comes from. in theory checkout one, , retrieve dependencies , check out projects too. sounds eclipse / maven plugin.

in ide integration determine if have project open matches dependency (based on groupdid, artifactid, version - gav coordinates) , resolve sources there , not loading them remote repository.

i think bigger change how initial projects imported ide? , maybe able exctract modules not changed every day , treat them standard dependencies. speeds build improves stability of build.

hmmmm. hope did in kind :)


Comments

Popular posts from this blog

html - How to style widget with post count different than without post count -

How to remove text and logo OR add Overflow on Android ActionBar using AppCompat on API 8? -

javascript - storing input from prompt in array and displaying the array -