Browse Source

Integrating externals into index.html and Gruntfile

amber-cli now does not need its own bower_components, index.html etc.
http://localhost:4000/internal/ now allows to develop Amber and CLI
with one IDE session.
Herbert Vojčík 10 years ago
parent
commit
468c5b8c30

+ 23 - 2
Gruntfile.js

@@ -1,3 +1,5 @@
+var path = require('path');
+
 module.exports = function(grunt) {
 
   grunt.loadTasks('./internal/grunt-tasks');
@@ -8,7 +10,7 @@ module.exports = function(grunt) {
   grunt.loadNpmTasks('grunt-execute');
 
   grunt.registerTask('default', ['peg', 'amberc:all']);
-  grunt.registerTask('amberc:all', ['amberc:core', 'amberc:helios']);
+  grunt.registerTask('amberc:all', ['amberc:core', 'amberc:cli', 'amberc:helios']);
   grunt.registerTask('test', ['amberc:test_runner', 'execute:test_runner', 'clean:test_runner']);
 
   grunt.initConfig({
@@ -78,6 +80,23 @@ module.exports = function(grunt) {
         src: ['src/Kernel-Tests.st', 'src/Compiler-Tests.st', 'src/SUnit-Tests.st'],
         libraries: ['SUnit']
       },
+      cli: {
+        output_dir: 'external/amber-cli/src',
+        src: ['external/amber-cli/src/AmberCli.st'],
+        libraries: [
+          'Compiler-Exceptions', 'Compiler-Core', 'Compiler-AST',
+          'Compiler-IR', 'Compiler-Inlining', 'Compiler-Semantic', 'Compiler-Interpreter', 'parser',
+          'SUnit', 'Kernel-ImportExport',
+          'Kernel-Tests', 'Compiler-Tests', 'SUnit-Tests'
+        ],
+        main_class: 'AmberCli',
+        output_name: '../support/amber-cli',
+        amd_namespace: 'amber_cli'
+      },
+      dev: {
+        output_dir: 'external/amber-dev/lib',
+        src: ['external/amber-dev/lib/Test.st']
+      },
       test_runner: {
         src: ['node_modules/amber-dev/lib/Test.st'],
         libraries: [
@@ -102,7 +121,9 @@ module.exports = function(grunt) {
 
     jshint: {
       amber: ['src/*.js'],
-      grunt: ['Gruntfile.js', 'internal/grunt-tasks/*.js']
+      cli: ['external/amber-cli/src/*.js', 'external/amber-cli/support/*.js'],
+      dev: ['external/amber-dev/lib/*.js'],
+      grunt: ['Gruntfile.js', 'internal/grunt-tasks/*.js', 'external/amber-dev/tasks/*.js']
     }
   });
 };

+ 0 - 45
external/amber-cli/Gruntfile.js

@@ -1,45 +0,0 @@
-module.exports = function(grunt) {
-  var path = require('path');
-
-  grunt.loadNpmTasks('amber-dev');
-
-  grunt.loadNpmTasks('grunt-contrib-jshint');
-
-  grunt.registerTask('default', ['amberc:cli']);
-
-  grunt.initConfig({
-    pkg: grunt.file.readJSON('package.json'),
-
-    meta: {
-      banner: '/*!\n <%= pkg.title || pkg.name %> - v<%= pkg.version %> - <%= grunt.template.today("yyyy-mm-dd") %> \n License: <%= pkg.license.type %> \n*/\n'
-    },
-
-    amberc: {
-      options: {
-        amber_dir: path.normalize(path.join(__dirname, "node_modules", "amber"))
-      },
-      amber_tests: {
-        output_dir : 'src',
-        src: ['src/Kernel-Tests.st', 'src/Compiler-Tests.st', 'src/SUnit-Tests.st'],
-        libraries: ['SUnit']
-      },
-      cli: {
-        output_dir: 'src',
-        src: ['src/AmberCli.st'],
-        libraries: [
-            'Compiler-Exceptions', 'Compiler-Core', 'Compiler-AST',
-            'Compiler-IR', 'Compiler-Inlining', 'Compiler-Semantic', 'Compiler-Interpreter', 'parser',
-            'SUnit', 'Kernel-ImportExport',
-            'Kernel-Tests', 'Compiler-Tests', 'SUnit-Tests'
-        ],
-        main_class: 'AmberCli',
-        output_name: '../support/amber-cli',
-        amd_namespace: 'amber_cli'
-      }
-    },
-
-    jshint: {
-      cli: ['src/*.js', 'support/*.js']
-    }
-  });
-};

+ 0 - 18
external/amber-cli/bower.json

@@ -1,18 +0,0 @@
-{
-  "name": "amber-cli",
-  "version": "0.0.1",
-  "homepage": "https://github.com/amber-smalltalk/amber-cli",
-  "description": "CLI for Amber Smalltalk",
-  "license": "MIT",
-  "private": true,
-  "ignore": [
-    "**/.*",
-    "node_modules",
-    "bower_components",
-    "test",
-    "tests"
-  ],
-  "dependencies": {
-    "amber": "~0.12.4"
-  }
-}

+ 0 - 32
external/amber-cli/index.html

@@ -1,32 +0,0 @@
-<!DOCTYPE html>
-<html>
-
-  <head>
-    <title>Amber Smalltalk</title>
-    <meta http-equiv="content-type" content="text/html; charset=utf-8" />
-    <meta name="author" content="Nicolas Petton" />
-    <script type='text/javascript' src='bower_components/amber/support/requirejs/require.min.js'></script>
-    <script src='bower_components/amber/support/amber.js'></script>
-
-  </head>
-
-  <body>
-    <script type='text/javascript'>
-    require.config({
-        paths: {
-            'amber_cli': 'src'
-        }
-    });
-    require(
-        ["amber/devel",
-            "amber_cli/AmberCli" ],
-        function (smalltalk) {
-            smalltalk.initialize({'transport.defaultAmdNamespace': 'amber_cli'});
-//            smalltalk.globals.Browser._openOn_(smalltalk.AmberCli);
-            smalltalk.popupHelios();
-        }
-    );
-    </script>
-  </body>
-</html> 
-

+ 1 - 5
external/amber-cli/package.json

@@ -33,7 +33,7 @@
     "amberc": "./support/amberc-cli.js"
   },
   "scripts": {
-    "test": "grunt amberc:cli && node ./support/amber-cli.js tests"
+    "test": "echo \"Error: no test specified\" && exit 1"
   },
   "dependencies": {
     "amber": "~0.12.4",
@@ -42,9 +42,5 @@
     "bower": "~1.3.2",
     "amber-dev": "~0.1.1",
     "grunt-cli": "~0.1.13"
-  },
-  "devDependencies": {
-    "grunt": "~0.4.0",
-    "grunt-contrib-jshint": "~0.3.0"
   }
 }

+ 6 - 1
internal/index.html

@@ -11,8 +11,13 @@
 
 <body>
 <script type='text/javascript'>
+    require.config({
+        paths: {
+            'amber_cli': '../external/amber-cli/src'
+        }
+    });
     require(
-        ["amber/devel"],
+        ["amber/devel", "amber_cli/AmberCli"],
         function (smalltalk) {
             smalltalk.initialize({'transport.defaultAmdNamespace': "amber_core"});