annotate Rakefile @ 13:21bc7e1d1429

Compiles with Mirah 0.1.0.
author Mikhail Kryshen <mikhail@kryshen.net>
date Tue, 05 Mar 2013 18:18:06 +0400 (2013-03-05)
parents 6e272c520bc6
children 9726d78eb848
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
0
91ecd24948de Imported.
Mikhail Kryshen <mikhail@kryshen.net>
parents:
diff changeset
1 require 'mirah'
1
fac1b8f35265 Applet.
Mikhail Kryshen <mikhail@kryshen.net>
parents: 0
diff changeset
2 require 'ant'
0
91ecd24948de Imported.
Mikhail Kryshen <mikhail@kryshen.net>
parents:
diff changeset
3 require 'rake/clean'
91ecd24948de Imported.
Mikhail Kryshen <mikhail@kryshen.net>
parents:
diff changeset
4
91ecd24948de Imported.
Mikhail Kryshen <mikhail@kryshen.net>
parents:
diff changeset
5 SRC = FileList['src/**/*.mirah']
1
fac1b8f35265 Applet.
Mikhail Kryshen <mikhail@kryshen.net>
parents: 0
diff changeset
6
fac1b8f35265 Applet.
Mikhail Kryshen <mikhail@kryshen.net>
parents: 0
diff changeset
7 CLEAN.include 'build/**/*.class'
10
6e6b00d95d0b Automatic versioning.
Mikhail Kryshen <mikhail@kryshen.net>
parents: 1
diff changeset
8 CLEAN.include 'build/**/version.properties'
1
fac1b8f35265 Applet.
Mikhail Kryshen <mikhail@kryshen.net>
parents: 0
diff changeset
9 CLEAN.include 'dist/*.jar'
0
91ecd24948de Imported.
Mikhail Kryshen <mikhail@kryshen.net>
parents:
diff changeset
10
91ecd24948de Imported.
Mikhail Kryshen <mikhail@kryshen.net>
parents:
diff changeset
11 task :default => [:compile]
91ecd24948de Imported.
Mikhail Kryshen <mikhail@kryshen.net>
parents:
diff changeset
12
91ecd24948de Imported.
Mikhail Kryshen <mikhail@kryshen.net>
parents:
diff changeset
13 task :compile => SRC do
1
fac1b8f35265 Applet.
Mikhail Kryshen <mikhail@kryshen.net>
parents: 0
diff changeset
14 Mirah::compile '--jvm', '1.6', '-d', 'build', *SRC
10
6e6b00d95d0b Automatic versioning.
Mikhail Kryshen <mikhail@kryshen.net>
parents: 1
diff changeset
15
12
6e272c520bc6 Read version information from .hg_archival.txt when available.
Mikhail Kryshen <mikhail@kryshen.net>
parents: 10
diff changeset
16 begin
6e272c520bc6 Read version information from .hg_archival.txt when available.
Mikhail Kryshen <mikhail@kryshen.net>
parents: 10
diff changeset
17 hga = Hash[*File.read('.hg_archival.txt').split(/: |\n+/)]
6e272c520bc6 Read version information from .hg_archival.txt when available.
Mikhail Kryshen <mikhail@kryshen.net>
parents: 10
diff changeset
18 version = "#{hga['latesttag']}.#{hga['latesttagdistance']}"
6e272c520bc6 Read version information from .hg_archival.txt when available.
Mikhail Kryshen <mikhail@kryshen.net>
parents: 10
diff changeset
19 rescue Errno::ENOENT
6e272c520bc6 Read version information from .hg_archival.txt when available.
Mikhail Kryshen <mikhail@kryshen.net>
parents: 10
diff changeset
20 version = `hg log -r tip --template "{latesttag}.{latesttagdistance}"`
6e272c520bc6 Read version information from .hg_archival.txt when available.
Mikhail Kryshen <mikhail@kryshen.net>
parents: 10
diff changeset
21 end
6e272c520bc6 Read version information from .hg_archival.txt when available.
Mikhail Kryshen <mikhail@kryshen.net>
parents: 10
diff changeset
22
10
6e6b00d95d0b Automatic versioning.
Mikhail Kryshen <mikhail@kryshen.net>
parents: 1
diff changeset
23 File.open('build/net/kryshen/charamega/version.properties', 'w') do |f|
6e6b00d95d0b Automatic versioning.
Mikhail Kryshen <mikhail@kryshen.net>
parents: 1
diff changeset
24 f.write "version = #{version}\n"
6e6b00d95d0b Automatic versioning.
Mikhail Kryshen <mikhail@kryshen.net>
parents: 1
diff changeset
25 end
0
91ecd24948de Imported.
Mikhail Kryshen <mikhail@kryshen.net>
parents:
diff changeset
26 end
91ecd24948de Imported.
Mikhail Kryshen <mikhail@kryshen.net>
parents:
diff changeset
27
91ecd24948de Imported.
Mikhail Kryshen <mikhail@kryshen.net>
parents:
diff changeset
28 task :run => [:compile] do
91ecd24948de Imported.
Mikhail Kryshen <mikhail@kryshen.net>
parents:
diff changeset
29 sh 'java -cp build:res net/kryshen/charamega/Ui'
91ecd24948de Imported.
Mikhail Kryshen <mikhail@kryshen.net>
parents:
diff changeset
30 end
1
fac1b8f35265 Applet.
Mikhail Kryshen <mikhail@kryshen.net>
parents: 0
diff changeset
31
fac1b8f35265 Applet.
Mikhail Kryshen <mikhail@kryshen.net>
parents: 0
diff changeset
32 task :jar => [:compile] do
fac1b8f35265 Applet.
Mikhail Kryshen <mikhail@kryshen.net>
parents: 0
diff changeset
33 ant.jar :jarfile => 'dist/charamega.jar' do
fac1b8f35265 Applet.
Mikhail Kryshen <mikhail@kryshen.net>
parents: 0
diff changeset
34 fileset :dir => 'build'
fac1b8f35265 Applet.
Mikhail Kryshen <mikhail@kryshen.net>
parents: 0
diff changeset
35 fileset :dir => 'res'
fac1b8f35265 Applet.
Mikhail Kryshen <mikhail@kryshen.net>
parents: 0
diff changeset
36 manifest do
fac1b8f35265 Applet.
Mikhail Kryshen <mikhail@kryshen.net>
parents: 0
diff changeset
37 attribute :name => 'Main-Class', :value => 'net.kryshen.charamega.Ui'
fac1b8f35265 Applet.
Mikhail Kryshen <mikhail@kryshen.net>
parents: 0
diff changeset
38 end
fac1b8f35265 Applet.
Mikhail Kryshen <mikhail@kryshen.net>
parents: 0
diff changeset
39 end
fac1b8f35265 Applet.
Mikhail Kryshen <mikhail@kryshen.net>
parents: 0
diff changeset
40 end