====== How to compile Starling with Maven ======
===== Introduction =====
Unfortunately, we don't have a maintainer for the Maven build system any more. Thus, I had to [[https://github.com/Gamua/Starling-Framework/commit/453aeef3fa65b1e4d50602b47f80726427d62ed4|remove]] the "maven" build files from the repository — rendering the tutorial below rather useless.
If you want to see Maven return, any help is welcome!
Maven is a powerful build system, like Ant, but it's more universal, with strict workflow and build phases. Furthermore, it supports dependency management out-the-box. Flex Framework, Robotlegs, as3commons and many other libraries are available via public repositories, and there is no need to collect ''*.swc'' files in some awful-always-growing "libs" folder. BTW, the Flex compiler is also a dependency, just recall your "sdk" folder, with 4.5.1, 4.6, 4.1.0 and other flex frameworks --- all of that now can be deleted, yay!
===== Compiling Starling with Maven =====
- Install Maven3 :-) there are many tutorials on it, and there is no difference between the installation of ant or maven, i swear ;) (Official site: [[http://maven.apache.org/|maven.apache.org]])
- cd into the Starling root folder
- to compile it, run mvn --file starling/build/maven/pom.xml compile
- That's all! The SWC file will be placed at **''starling/build/maven/target/''**
===== Using Starling as dependency in your Maven projects =====
If you use Maven, you already know, how easy to attach Starling to your project, but i will remind you! :-)
- Configure the repository:
starling-repository
http://repository-trylogic.forge.cloudbees.com/snapshot
false
true
- configure the dependencies:
com.gamua
starling-framework
[1.2, ]
swc
- Done! Easy, huh?
===== Where to go from here =====
* The main benefit for Maven is to simplify the build process and support Continuous Integration. You can find the current build server (Jenkins) for Starling [[https://trylogic.ci.cloudbees.com/job/StarlingFramework/|here]].
* All build artifacts are deployed to [[http://repository-trylogic.forge.cloudbees.com/snapshot|public repo]], you can use it in your Maven (or Ivy, for example) projects anytime you want.
* Maven support will be improved in future, here is my little road-map:
- Configure tests (it's not easy, because it requires Flash Player on build server, but cloudbees supports it, AFAIK)
- create own account for Starling at cloudbees (or something similar)
- ask Daniel to place pom.xml in root of repo :-D