Finished migration to Git and the build system
* Added web interface packaging * Added documentation about the development workflow
This commit is contained in:
parent
0665a760de
commit
f682594cbd
5 changed files with 143 additions and 3 deletions
60
legacyworlds-web-DIST/pom.xml
Normal file
60
legacyworlds-web-DIST/pom.xml
Normal file
|
@ -0,0 +1,60 @@
|
|||
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
|
||||
<modelVersion>4.0.0</modelVersion>
|
||||
<parent>
|
||||
<artifactId>legacyworlds-web</artifactId>
|
||||
<groupId>com.deepclone.lw</groupId>
|
||||
<version>1.0.0</version>
|
||||
<relativePath>../legacyworlds-web/pom.xml</relativePath>
|
||||
</parent>
|
||||
|
||||
<artifactId>legacyworlds-web-DIST</artifactId>
|
||||
<version>${legacyworlds.version.main}.${legacyworlds.version.release}-${legacyworlds.version.build}</version>
|
||||
|
||||
<packaging>pom</packaging>
|
||||
<name>Legacy Worlds - Web - Packaging</name>
|
||||
<description>This Maven module is responsible for creating the Legacy Worlds web interface's packaging.</description>
|
||||
|
||||
|
||||
<!-- Depend on both WAR projects -->
|
||||
<dependencies>
|
||||
<dependency>
|
||||
<groupId>com.deepclone.lw</groupId>
|
||||
<artifactId>legacyworlds-web-main</artifactId>
|
||||
<version>${project.version}</version>
|
||||
<type>war</type>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>com.deepclone.lw</groupId>
|
||||
<artifactId>legacyworlds-web-admin</artifactId>
|
||||
<version>${project.version}</version>
|
||||
<type>war</type>
|
||||
</dependency>
|
||||
</dependencies>
|
||||
|
||||
<!-- Use the assembly plug-in to generate the distribution -->
|
||||
<build>
|
||||
<plugins>
|
||||
<plugin>
|
||||
<artifactId>maven-assembly-plugin</artifactId>
|
||||
<executions>
|
||||
<execution>
|
||||
<id>distribution-assembly</id>
|
||||
<phase>package</phase>
|
||||
<goals>
|
||||
<goal>single</goal>
|
||||
</goals>
|
||||
<configuration>
|
||||
<attach>false</attach>
|
||||
<finalName>legacyworlds-web-${project.version}</finalName>
|
||||
<descriptors>
|
||||
<descriptor>src/web.xml</descriptor>
|
||||
</descriptors>
|
||||
<appendAssemblyId>false</appendAssemblyId>
|
||||
</configuration>
|
||||
</execution>
|
||||
</executions>
|
||||
</plugin>
|
||||
</plugins>
|
||||
</build>
|
||||
</project>
|
28
legacyworlds-web-DIST/src/web.xml
Normal file
28
legacyworlds-web-DIST/src/web.xml
Normal file
|
@ -0,0 +1,28 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<assembly
|
||||
xmlns="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.2"
|
||||
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||
xsi:schemaLocation="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.2 http://maven.apache.org/xsd/assembly-1.1.2.xsd">
|
||||
|
||||
<!-- Legacy Worlds web interface assembly -->
|
||||
|
||||
<id>legacyworlds-web</id>
|
||||
<formats>
|
||||
<format>dir</format>
|
||||
</formats>
|
||||
<includeBaseDirectory>false</includeBaseDirectory>
|
||||
|
||||
<dependencySets>
|
||||
|
||||
<dependencySet>
|
||||
<useProjectArtifact>false</useProjectArtifact>
|
||||
<outputDirectory>.</outputDirectory>
|
||||
<unpack>false</unpack>
|
||||
<includes>
|
||||
<include>*:war</include>
|
||||
</includes>
|
||||
</dependencySet>
|
||||
|
||||
</dependencySets>
|
||||
|
||||
</assembly>
|
|
@ -17,6 +17,7 @@
|
|||
<module>../legacyworlds-web-main</module>
|
||||
<module>../legacyworlds-web-admin</module>
|
||||
<module>../legacyworlds-web-beans</module>
|
||||
<module>../legacyworlds-web-DIST</module>
|
||||
</modules>
|
||||
|
||||
|
||||
|
|
|
@ -8,8 +8,6 @@ NOTES:
|
|||
|
||||
PROJECT:
|
||||
|
||||
! Write the new build system
|
||||
|
||||
* Update all dependencies to the latest versions
|
||||
|
||||
|
||||
|
@ -45,4 +43,4 @@ GENERAL:
|
|||
* Write unit tests
|
||||
? Check out PostgreSQL extensions to test stored procedures
|
||||
* Write unit tests for new code
|
||||
? add more tests if possible
|
||||
? add more tests if possible
|
||||
|
|
53
legacyworlds/doc/workflow.txt
Normal file
53
legacyworlds/doc/workflow.txt
Normal file
|
@ -0,0 +1,53 @@
|
|||
Legacy Worlds development work flow
|
||||
====================================
|
||||
|
||||
Development is based off a set of Git repositories on the web-based repository
|
||||
server. All repositories can be found under https://svn.legacyworlds.com/git/
|
||||
|
||||
|
||||
Repositories
|
||||
-------------
|
||||
|
||||
* Developer repositories: each developer has access to a personal repository,
|
||||
under dev/{developer name} on the server. All developers have read access to
|
||||
the others' repositories.
|
||||
|
||||
Address: https://svn.legacyworlds.com/git/dev/{developer name}
|
||||
|
||||
* Staging repository: this repository is meant to be used as the source for
|
||||
all local repositories. All developers may read from it. However, only
|
||||
TSeeker can push code to it.
|
||||
|
||||
Address: https://svn.legacyworlds.com/git/staging
|
||||
|
||||
* Main repository: this repository contains the code that has been processed
|
||||
by the build system, along with the binaries if the last build succeeded.
|
||||
While all developers can read from it, it should not be used as the source
|
||||
for local copies.
|
||||
|
||||
Address: https://svn.legacyworlds.com/git/main
|
||||
|
||||
|
||||
Branches
|
||||
---------
|
||||
|
||||
On the staging and main repositories, the following branches exist:
|
||||
|
||||
* master - this is the main development branch. All code destined to end up
|
||||
in the next version of Legacy Worlds lives there.
|
||||
|
||||
* milestone1 - maintenance branch for Legacy Worlds Beta 6 milestone 1.
|
||||
|
||||
|
||||
Development process
|
||||
--------------------
|
||||
|
||||
Work on some branch on your local copy.
|
||||
-> Don't hesitate to push to your developer repository on the server
|
||||
as a means of backup.
|
||||
-> Rebase to the original branch whenever it changes.
|
||||
|
||||
When you are done with your work on a branch:
|
||||
1) push to some branch on your developer repository on the server,
|
||||
2) notify TSeeker that the branch should be pulled to the staging repository.
|
||||
While this is easier to handle on IRC, a mail is fine as well.
|
Reference in a new issue