Skip to content

Commit

Permalink
Build process finalized. One step from .coffee to .tar.bz2
Browse files Browse the repository at this point in the history
--HG--
rename : testing/jre/jvm.js => deploy/jre/jvm.js
rename : testing/jre/rt/java/lang/System.class => deploy/jre/rt/java/lang/System.class
rename : testing/jre/rt/javascript/io/JavaScriptInputStream.class => deploy/jre/rt/javascript/io/JavaScriptInputStream.class
rename : testing/jre/rt/javascript/io/JavaScriptPrintStream.class => deploy/jre/rt/javascript/io/JavaScriptPrintStream.class
rename : testing/test-suite/AllClasses => deploy/test-suite/AllClasses
rename : testing/test-suite/Object.js => deploy/test-suite/Object.js
rename : testing/test-suite/classes/HelloWorld.class => deploy/test-suite/classes/HelloWorld.class
rename : testing/test-suite/classes/HelloWorld.java => deploy/test-suite/classes/HelloWorld.java
rename : testing/test-suite/classes/Inheritence$1.class => deploy/test-suite/classes/Inheritence$1.class
rename : testing/test-suite/classes/Inheritence$Bar.class => deploy/test-suite/classes/Inheritence$Bar.class
rename : testing/test-suite/classes/Inheritence$Foo.class => deploy/test-suite/classes/Inheritence$Foo.class
rename : testing/test-suite/classes/Inheritence.class => deploy/test-suite/classes/Inheritence.class
rename : testing/test-suite/classes/Inheritence.java => deploy/test-suite/classes/Inheritence.java
rename : testing/test-suite/classes/Loop.class => deploy/test-suite/classes/Loop.class
rename : testing/test-suite/classes/Loop.java => deploy/test-suite/classes/Loop.java
rename : testing/test-suite/classes/Test$Father.class => deploy/test-suite/classes/Test$Father.class
rename : testing/test-suite/classes/Test$Son.class => deploy/test-suite/classes/Test$Son.class
rename : testing/test-suite/classloader.html => deploy/test-suite/classloader.html
rename : testing/test-suite/index.html => deploy/test-suite/index.html
rename : testing/test-suite/opcodes.html => deploy/test-suite/opcodes.html
rename : testing/test-suite/performance.html => deploy/test-suite/performance.html
rename : testing/test-suite/style.css => deploy/test-suite/style.css
  • Loading branch information
james committed Apr 1, 2012
1 parent 994c49f commit 4d2c7a2
Show file tree
Hide file tree
Showing 45 changed files with 57 additions and 1,271 deletions.
63 changes: 56 additions & 7 deletions Cakefile
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,8 @@ util = require 'util'
appFiles = [
'src/jvm/JVM.coffee'
]
javaFiles = [
]

workers = [
'src/jvm/Thread.coffee'
Expand All @@ -15,7 +17,7 @@ workers = [
task 'watch', 'Build project from src/*.coffee to bin/*.js', ->
exec 'mkdir -p bin/js/'
coffee = spawn 'coffee', ['-cw', '-o', 'bin/js', 'src']
coffee.stdout.on 'data', (data) -> console.log data.toString().trim()
coffee.stdout.on 'data', (data) -> console.log data.toString().trim()

task 'clean', 'Clean /bin/*.js files', ->
exec 'ls bin/js/*.js', (err, stdout, stderr) ->
Expand All @@ -39,7 +41,52 @@ task 'coffeeFiles', 'how much coffee you got?!', ->
traverseFileSystem 'src'
util.log "#{appFiles.length} coffee files found."
return appFiles


task 'javaFiles', 'Compile custom Java API files', ->
traverseFileSystem = (currentPath) ->
files = fs.readdirSync currentPath
for file in files
do (file) ->
currentFile = currentPath + '/' + file
stats = fs.statSync(currentFile)
if stats.isFile() and currentFile.indexOf('.java') > 1 and appFiles.join('=').indexOf("#{currentFile}=") < 0
if workers.join('=').indexOf("#{currentFile}") < 0

javaFiles.push currentFile
else if stats.isDirectory()
traverseFileSystem currentFile

traverseFileSystem 'src'
util.log "#{javaFiles.length} java files found."
return appFiles

task 'compile', 'Compile', ->
invoke 'javaFiles'
len = javaFiles.length
for file, index in javaFiles then do (file, index) ->
exec "javac -cp src/lib/rt -d deploy/jre/rt " + file, (err, stdout, stderr) ->
if err
util.log "Error! #{err}"
else
util.log "Compiled Java Class #{file}"
if --len is 0
invoke 'zip'

task 'zip', 'Zip that stuff', ->
util.log "Creating tarball..."
date = new Date()
day = date.getDate()
month = date.getMonth()
year = date.getFullYear()
# zip that awesome shit up
exec "tar -cf builds/jvm-latest.tar deploy", (err, stdout, stderr) ->
if err then util.log err
exec "bzip2 builds/jvm-latest.tar", (err, stdout, stderr) ->
if err then util.log err
exec "cp builds/jvm-latest.tar.bz2 builds/jvm-#{day}-#{month}-#{year}.tar.bz2", (err, stdout, stderr) ->
if err then util.log err
else util.log "Brewed successfully."


task 'build', 'Build single application file from source files', ->
invoke 'coffeeFiles'
Expand All @@ -52,19 +99,21 @@ task 'build', 'Build single application file from source files', ->
util.log "Compiling workers"
for file, index in workers then do (file, index) ->
util.log file
exec "coffee --compile -o lib/workers #{file}", (err, stdout, stderr) ->
exec "coffee --compile -o deploy/jre/workers #{file}", (err, stdout, stderr) ->
if err
util.log 'Something went wrong'


invoke "compile"

process = ->
fs.writeFile 'lib/jvm.coffee', appContents.join('\n\n'), 'utf8', (err) ->
fs.writeFile 'deploy/jre/jvm.coffee', appContents.join('\n\n'), 'utf8', (err) ->
throw err if err
exec 'coffee --compile lib/jvm.coffee', (err, stdout, stderr) ->
exec 'coffee --compile deploy/jre/jvm.coffee', (err, stdout, stderr) ->
if err
util.log err
util.log 'Error compiling coffee file.'
else
fs.unlink 'lib/jvm.coffee', (err) ->
fs.unlink 'deploy/jre/jvm.coffee', (err) ->
if err
util.log 'Couldn\'t delete the app.coffee file/'
util.log 'Done building coffee file.'
2 changes: 1 addition & 1 deletion lib/jvm.js → deploy/jre/jvm.js

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
169 changes: 0 additions & 169 deletions lib/native/java/lang/Class.js

This file was deleted.

12 changes: 0 additions & 12 deletions lib/native/java/lang/Double.js

This file was deleted.

10 changes: 0 additions & 10 deletions lib/native/java/lang/Float.js

This file was deleted.

23 changes: 0 additions & 23 deletions lib/native/java/lang/Object.js

This file was deleted.

6 changes: 0 additions & 6 deletions lib/native/java/lang/String.js

This file was deleted.

Loading

0 comments on commit 4d2c7a2

Please sign in to comment.