On Fri, 25 May 2018 14:12:46 -0400 Emilian Bold <[email protected]> wrote:
> What I like is deterministic builds, which neither Ant nor Maven > (both Apache projects) seem to hurry to add. > > Based on deterministic builds you can have any kind of simple or > fancy build infrastructure to help you out. That is kinda the basis of portage and Gentoo. What makes packaging on Gentoo harder than other distros. It must build for all, in a variety of scenarios. Not just on the packagers system to create a binary for others. Packaging from source for others to install from source is non-trivial for many things. Though for Java these days with my work, its pretty trivial. Most all my ebuilds are minimal. https://github.com/Obsidian-StudiosInc/os-xtoo/tree/master/dev-java/ I am also looking to reduce eclass complexity. Lots of cruft to remove from java-*.eclass eclasses... eclasses are where most logic resides, to make ebuilds very minimal. https://github.com/Obsidian-StudiosInc/os-xtoo/tree/master/eclass Even for Netbeans https://github.com/Obsidian-StudiosInc/os-xtoo/blob/master/eclass/java-netbeans.eclass That eclass makes the ebuilds pretty minimal, most dependency lists https://github.com/Obsidian-StudiosInc/os-xtoo/blob/master/nb-ide/netbeans-ant-browsetask/netbeans-ant-browsetask-9999.ebuild IMHO it is a much simpler approach. Current with ant has like 1-2 xml files arch and build, plus properties and project.xml files. https://github.com/apache/incubator-netbeans/tree/master/ant.browsetask About to get even smaller as I drop DEPEND and RDEPEND moved into eclasses as well. Such that I can change JDK in one location in eclass, vs all ebuilds. To require a newer one across the board. Just the same I can control the resulting jars via JAVA_RELEASE, so all jars are a given target. Default to latest, but say under 10, could spit out 9, or 10 under 11 and so on. > I would like to have the server do some builds in background while I > edit my stuff and then my laptop build races to either download > prebuilt JARs or compile files on disk. That is kind of my work flow on Gentoo via portage. I can build stuff on my dev server, and then pull in pre-built binaries on my laptop. I just cannot do it same time. Portage does not look for binaries after a merge started. If it did, then it would do more of what your after. Building on server, and then pulling those in as part of a build on Laptop or other. The laptop build would see binaries in its list the server made and not build those, but could build other the server has not. Which then the server could use as well. With a shared repository or binhost. Hopefully portage next generation will address these issues. But its mostly theoretical, not sure if those working on it have actually started coding. I would not hold my breath there. Likely at least 1-2 years out if it happens. Maybe in less time, but its not really trivial. -- William L. Thomson Jr.
pgp_EmQ_S0H2v.pgp
Description: OpenPGP digital signature
