FR3403603 Mavenize
From ADempiere
This Wiki is read-only for reference purposes to avoid broken links.
Contents
Technical Specifications
Introduction
Overview
- Tasks:
- Define time schedule together with TT and FT for organize the switch to maven build process
- Prepare training for all developers who don't know about maven building philosophy and how it works in the ADempiere world
References
- Feature Request: #3403603 "Mavenize ADempiere" [1]
- Forum thread about this task: http://sourceforge.net/projects/adempiere/forums/forum/611167/topic/4659270
- Maven home page: http://maven.apache.org/
- Maven IDE for eclipse: http://mevenide.codehaus.org/
- ADempiere Software development procedure: http://www.adempiere.com/Software_Development_Procedure
- Mercurial home page: http://mercurial.selenic.com/
- Mercurial flow extension https://bitbucket.org/yinwm/hgflow/wiki/UserManual
- ADempiere HG repo: http://adempiere.hg.sourceforge.net:8000/hgroot/adempiere/adempiere
- ADempiere Maven-Repo: http://nexus.adempiere.de/nexus
- Tobi 08:28, 7 September 2011 (UTC) : feel free to contact me for a "deployer" account, meaning that you can deploy artifacts to this repo, if they are not found anywhere else
How to access the maven repo
- Paste this into your local maven settings.xml to access the repository:
<repository> <releases> <enabled>true</enabled> <updatePolicy>always</updatePolicy> <checksumPolicy>fail</checksumPolicy> </releases> <snapshots> <enabled>true</enabled> </snapshots> <id>adempiere-public</id> <url>http://nexus.adempiere.de/nexus/content/groups/public/</url> </repository>
Development
With the exception of posterita, all of adempiere compiles with maven. Next step is to prepare the final assembly phase.
- Note: posterita is currently considered a legacy and has not yet been dropped, but move to a legacy folder. It currently we plan not build it with the maven process
Directory Layout
- common
- contains the common code: base, patches-ecs (extracted from tools with a meaningful name)
- desktop client
- the desktop client
- web-client
- the various web clients and application, with code separated from webapp to ease dependency management of extensions
- JasperReports
- the jasper report library, ejb bean, and web application
- lagacy
- contains unused projects: looks and interface (both was empty), serverApps and serverRoot (what remains after the code and webapp has been extracted), tools, JasperReportsTools, sqlj and posterita
- server
- the server components, and installation
- assembly
- the ear assemblies, will contain the webstart client when its ready, and the final assemblies
As of now the ear and war assemblies have still to be finalized, because it will depends on how all of adempiere will be assembled. Webstart client has still to be done, and there are still some directory layout changes that could be done.
ToDo List
Todo | Working on it | Status |
---|---|---|
Prepare parent pom | Freepath | Done |
Migrate 'base' to compile with maven | Freepath | Done |
Migrate 'tools' to compile with maven | Freepath | Done |
Migrate 'client' to compile with maven | Freepath | Done |
Migrate 'server' to compile with maven | Freepath | Done |
Migrate 'webui' to compile with maven | Freepath | Done |
Migrate 'webStore' to compile with maven | Freepath | Done |
Migrate 'webCM' to compile with maven | Freepath | Done |
Install and setup maven mirror | Tobi | Done |
Upload of missin artifact | Tobi/Freepath | Done |
Refactor directory structure | Freepath | In progress |
Migrate Webstart client | - | On Hold |
Finalize assemblies | - | On Hold |
Developers
Please add you here if you want to help.
Testers
Sponsors
Tobi 06:28, 23 November 2011 (UTC) Other developers, testers and so on: feel free to add your company, if it donated time, money or infrastructure (or something else I forgot to mention :-) )
- metas Group (donating office hours)
Branch code
- Branch name is feature/FR3403603_mavenize
Roadmap Document
Use/Extend the table as required
Functionality / Feature | Status | Developer | Priority | Milestone | Release Date | Summary |
---|---|---|---|---|---|---|
Migration Steps | ||||||
Migrate java code to compile with maven | Done | Freepath | High | Version No | -- | Draft |
Install and setup maven mirror | Done | Tobi/Banym | High | Version No | -- | Draft |
upload missing artifacts | Done | Freepath | High | Version No | -- | Draft |
Finalize assemblies | In progress | Teo/Tobi | High | Version No | -- | Draft |
Provide developer docs | Pending | Tobi | High | Version No | -- | Draft |
Tracker
Migration Script
Install Step
Installation instructions