Closed ahitrin closed 10 years ago
The best way to do it fine is to migrate iteratively.
It could be done even with simple bash scripts:
touch clean.current
touch clean.shouldbe
touch java-build.current
... # do the same for all interesting tasks
ant clean && tree > clean.shouldbe
ant java-build && tree > java-build.shouldbe
... # do the same for all interesting tasks
$buildsystem clean && tree > clean.current
dif=`diff clean.current clean.shouldbe | wc -l`; [ dif == 0 ] || echo fail
Automate this.
And also tests
N.B.: it's better to use different validators for different targets. For example, tree
is enough for target clean
, but for target like java-build
we should use something like find . -name \*.class | xargs md5sum
.
It's better to check files that are generated by the given target.
Currently, we have almost working Gradle build script. What's more we need to do:
build.xml
and hardcoded libsNice to have:
win32
/win64
tasks should work on Windows (not sure whether it's working now)Bug found: resources and manifest are not placed into Gradle jar.
UPD: fixed by the following commit.
Enough for this ticket. Further changes will go in other tickets or without them.
Currently, we use old and hard-to-manage ant script to build the application. Any change in build rules requires sophisticated xml hackery. Introducing external dependencies is also difficult (due to lack of dependency management in Ant). We should take a look on modern build systems in the Java world and evaluate the new possibilities/improvements they can give.
Possible candidates:
(Maven? No way! ;)
Acceptance criterii (what should the build system provide in order to be accepted):
lib
)