sbt-android-mill - simple-build-tool multi-thread plugin with profiling
If you want improve it, please send mail to sbt-android-mill at digimead.org. You will be added to the group. Please, feel free to add yourself to authors.
There are base HelloWorld projects:
Please, read sbt.android.mill.MillKeys. It is very very easy to read.
Please note that Android SDK with Scala is best suited for Oracle Java 1.6.
If you want to use Java 1.7 please turn off optimization.
scalacOptions ++= Seq("-encoding", "UTF-8", "-unchecked", "-deprecation", "-Xcheckinit") ++
(if (true || (System getProperty "java.runtime.version" startsWith "1.7")) Seq() else Seq("-optimize")) // -optimize fails with jdk7
Using OpenJDK lead to incorrect bytecode interpretation in Android dx tool.
Example development environment is:
- Eclipse 3.7.1 with Scala 2.9 Nighly and latest ADK based on Java 7
- SBT 0.12.x with Scala 2.8.2 based on Java 6
So we develop our applications in Scala 2.9.x environment and compile it with Scala 2.8.x
Branches:
- origin/master reflects a production-ready state
- origin/release-* support preparation of a new production release. Allow for last-minute dotting of i’s and crossing t’s
- origin/hotfix-* support preparation of a new unplanned production release
- origin/develop reflects a state with the latest delivered development changes for the next release (nightly builds)
- origin/feature-* new features for the upcoming or a distant future release
Structure of branches follow strategy of http://nvie.com/posts/a-successful-git-branching-model/
If you will create new origin/feature-* please open feature request for yourself.
- Anyone may comment you feature here.
- We will have a history for feature and ground for documentation
- If week passed and there wasn't any activity + all tests passed = release a new version ;-)
Create a
- project/plugins/project/Build.scala - for older simple-build-tool
- project/project/Build.scala - for newer simple-build-tool
file that looks like the following:
import sbt._
object PluginDef extends Build {
override def projects = Seq(root)
lazy val root = Project("plugins", file(".")) dependsOn(mill)
lazy val mill = uri("git://github.com/sbt-android-mill/sbt-android-mill.git#0.2")
}
You may find more information about Build.scala at https://github.com/harrah/xsbt/wiki/Plugins
Then in your build.sbt file, simply add:
sbt.android.mill.MillClassic.go
or
sbt.android.mill.MillEclipse.go
q. I don't like artifact name with package-bin
. How I may change it?
a. You may setup your artifact name explicit:
artifactName := ((version: ScalaVersion, module: ModuleID, artifact: Artifact) =>
artifact.name + "-" + module.revision + "." + artifact.extension )
- Alexey Aksenov
all previous authors was dropped, because sbt-android-plugin licence is contains
3. The name of the author may not be used to endorse or promote products derived from this software without specific prior written permission.
The sbt-android-mill is licensed to you under the terms of the Apache License, version 2.0, a copy of which has been included in the LICENSE file.
Copyright © 2012 Alexey B. Aksenov/Ezh. All rights reserved.
This plugin based on sbt-android-plugin (c) 2009 Walter Chang, Mark Harrah, Jan Berkel
sbt-android-plugin licence located in LICENSE.sbt-android-plugin