On 7/29/2015 1:41 AM, Jochen Theodorou wrote:
But Steve, I do have a question...
Normally the things you describe are part of the installation process as well as making a package for the system installation. That means normally you want a system package. Installing software packages manually in a system with a packaging manager is usually a bad idea.

GVM was mentioned, but GVM is not for a system-wide installation like Steve wants it. And it is (currently) not a way to provide libraries for usage by applications outside of a GVM package.

Some issues that large enterprises typically face include that dynamic tools that resolve dependencies are not permitted. There are many reasons for this: everything from legal (third-party jars, including version changes, must be approved), to having centralized control of which jars engineers have access to for their particular product and for their particular intended release event. And, developers tend to use either Eclipse or IntelliJ IDEs, while some few do everything command line with environment variables or scripts helping compilation to find jars. Developer environments need to include the specific network-accessible jars they need. These jars are organized into groups that are approved and are consistent for a particular release event. Having release numbers on the jars themselves would cause problems in which developer environments would need to be reconfigured when jar updates are mandated. What seems reasonable for small to medium projects sometimes isn't appropriate for very large scale projects involving thousands of developers.

Fortunately, we have excellent build and release engineers who take third-party jars and fit them into our system so that all concerns are addressed. Since it doesn't seem that our needs are shared by others, it's just fine to leave it at that.

Enjoy,
Steve Amerige
Principal Software Developer, Fraud and Compliance Solutions Development
SAS Institute, 100 SAS Campus Dr, Room U3050, Cary, NC 27513-8617


Reply via email to