My current understanding is that Maven and Maven repositories are
primarily used to distribute pre-compiled binaries and to build other
software against these binaries. I want to build all dependencies of a
project from source code.

I found that it is possible to publish source code through Maven
repositories and build dependencies that provide source code via the
source, dependency and build helper plugins. However, despite some
technical problems (non-incremental builds, no separate .jar files), it
seems this is not how Maven is normally used for.

Some Linux distributions also build all software that uses Maven from
source and have developed their own software to isolate Maven builds and
build them only with the software which are specified as dependencies in
the build specification of the package manager. Debian has dpkg helper
scripts, Fedora has koji and there is also JPackage. It was somewhat
difficult to integrate Maven with the respective package managers and
build systems and for example FreeBSD does not compile Java software and
only uses pre-compiled binaries to avoid these difficulties.

For other operating systems without package managers, especially
Microsoft Windows and Mac OS X, it is worse. Because all dependencies
have to be bundled with and updated for each independently installed
software. This is particularly problematic for security updates.

It seems setting up a build service (similar to koji but
platform-independent) that tracks new software versions, is aware of
dependencies between projects and builds all transitive dependencies
from source code with isolated Maven repositories and bundles all
dependencies with the original software. In order to track dependencies
it would be necessary to have adapters that watch and scrap FTP
directories, RSS and atom feeds and websites for updates, import source
code archives, build new releases, rebuild dependent software, flag the
newly build software for testing and approval. While this is certainly
not impossible, it is also not trivial.

Is anyone aware of a source build system for Maven would meet the
requirements or at least serve as a foundation for building such system?

Regards,
Matthias-Christian

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscr...@maven.apache.org
For additional commands, e-mail: users-h...@maven.apache.org

Reply via email to