FR3403603 Mavenize

From ADempiere
Revision as of 23:37, 22 November 2011 by Tobi (Talk) (Sponsors)

Jump to: navigation, search
This Wiki is read-only for reference purposes to avoid broken links.

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]
  • 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 :-) )

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