Преглед на файлове

Merge pull request #16 from tomrake/develop

Add Grunt support for Node.js examples
Manfred Kröhnert преди 11 години
родител
ревизия
53083f5074
променени са 6 файла, в които са добавени 64 реда и са изтрити 27 реда
  1. 3 0
      nodejs/.gitignore
  2. 50 0
      nodejs/Gruntfile.js
  3. 0 8
      nodejs/hello/Makefile
  4. 7 7
      nodejs/hello/README
  5. 0 8
      nodejs/trivialserver/Makefile
  6. 4 4
      nodejs/trivialserver/TrivialServer.st

+ 3 - 0
nodejs/.gitignore

@@ -0,0 +1,3 @@
+node_modules/*
+*/Program.js
+*~

+ 50 - 0
nodejs/Gruntfile.js

@@ -0,0 +1,50 @@
+module.exports = function(grunt) {
+  grunt.loadTasks('../vendor/amber/grunt/tasks');
+
+  grunt.registerTask('default', ['amberc:hello']);
+
+  grunt.initConfig({
+    pkg: grunt.file.readJSON('package.json'),
+
+    amberc: {	
+		 _config: {
+			amber_dir: '../../vendor/amber',
+			closure_jar: ''
+		},
+		hello: {
+			working_dir: 'hello',
+			src: ['Hello.st'],
+			main_class: 'Hello',
+			output_name: 'Program'
+		 },
+		benchfib: {
+			working_dir: 'benchfib',
+			src: ['Benchfib.st'],
+			main_class: 'Benchfib',
+			output_name: 'Program'
+		},
+		meta: {
+			working_dir: 'meta',
+			src: ['MyScript.st'],
+			main_class: 'MyScript',
+			libraries: ['parser','Compiler'],
+			output_name: 'Program'
+		},
+		pystone: {
+			working_dir: 'pystone',
+			src: ['Pystone.st'],
+			main_class: 'Pystone',
+			output_name: 'Program'
+		},
+		trivialserver: {
+			working_dir: 'trivialserver',
+			src: ['TrivialServer.st'],
+			main_class: 'TrivialServer',
+			output_name: 'Program'
+		}
+
+
+      }
+    });
+
+}

+ 0 - 8
nodejs/hello/Makefile

@@ -1,8 +0,0 @@
-Program.js: Hello.st
-	../../../bin/amberc -m Hello Hello.st Program
-
-run: Program.js
-	./hello
-
-clean:
-	rm -f Program.js Hello.js

+ 7 - 7
nodejs/hello/README

@@ -1,13 +1,13 @@
-Trivial Node.js example in JTalk that also uses the Google Closure compiler
-if ~/compiler.jar is present.
+Trivial Node.js example in Amber. To compile execute:
+	grunt amberc:hello
 
 Hello.st - source code.
 hello    - trivial bash script to run resulting program.
-Makefile - trivial makefile, read it.
 
-Hello.js - produced when you run make. Contains JTalk + Hello.st + a main call
+Hello.js - compiled from Hello.st.
+Program.js - compile from Hello.st and includes Amber, can run from node.
 
-To play, do this:
+To compile and run.
+	grunt amberc:hello
+	./hello
 
-make
-./hello

+ 0 - 8
nodejs/trivialserver/Makefile

@@ -1,8 +0,0 @@
-Program.js: TrivialServer.st
-	../../../bin/amberc -m TrivialServer TrivialServer.st Program
-
-run: Program.js
-	./trivial
-
-clean:
-	rm -f Program.js TrivialServer.js

+ 4 - 4
nodejs/trivialserver/TrivialServer.st

@@ -1,10 +1,12 @@
 Object subclass: #TrivialServer
-        instanceVariableNames: 'counter'
+        instanceVariableNames: 'os http counter'
         category: 'TrivialServer'!
 
 !TrivialServer methodsFor: 'initializing'!
 initialize
-        counter := 0
+        counter := 0.
+		os := require value: 'os'.
+		http := require value: 'http'.
 ! !
 
 !TrivialServer methodsFor: 'processing'!
@@ -42,8 +44,6 @@ start
 !TrivialServer class methodsFor: 'initialization'!
 initialize
         "We require these Node modules."
-    os := require value: 'os'.
-    http := require value: 'http'.
 !
 
 main