Browse Source

Merge pull request #317 from herby/commit-to-packagehome

Commit to packagehome
Nicolas Petton 12 years ago
parent
commit
d47a54169e
7 changed files with 118 additions and 67 deletions
  1. 0 22
      js/IDE.deploy.js
  2. 0 32
      js/IDE.js
  3. 40 0
      js/Kernel-Objects.deploy.js
  4. 50 0
      js/Kernel-Objects.js
  5. 13 3
      js/amber.js
  6. 0 10
      st/IDE.st
  7. 15 0
      st/Kernel-Objects.st

+ 0 - 22
js/IDE.deploy.js

@@ -2535,28 +2535,6 @@ fn: function () {
 smalltalk.Browser);
 
 
-smalltalk.addMethod(
-"_commitPathJs",
-smalltalk.method({
-selector: "commitPathJs",
-fn: function () {
-    var self = this;
-    return "js";
-}
-}),
-smalltalk.Browser.klass);
-
-smalltalk.addMethod(
-"_commitPathSt",
-smalltalk.method({
-selector: "commitPathSt",
-fn: function () {
-    var self = this;
-    return "st";
-}
-}),
-smalltalk.Browser.klass);
-
 smalltalk.addMethod(
 "_open",
 smalltalk.method({

+ 0 - 32
js/IDE.js

@@ -3275,38 +3275,6 @@ referencedClasses: []
 smalltalk.Browser);
 
 
-smalltalk.addMethod(
-"_commitPathJs",
-smalltalk.method({
-selector: "commitPathJs",
-category: 'accessing',
-fn: function () {
-    var self = this;
-    return "js";
-},
-args: [],
-source: "commitPathJs\x0a\x09^'js'",
-messageSends: [],
-referencedClasses: []
-}),
-smalltalk.Browser.klass);
-
-smalltalk.addMethod(
-"_commitPathSt",
-smalltalk.method({
-selector: "commitPathSt",
-category: 'accessing',
-fn: function () {
-    var self = this;
-    return "st";
-},
-args: [],
-source: "commitPathSt\x0a\x09^'st'",
-messageSends: [],
-referencedClasses: []
-}),
-smalltalk.Browser.klass);
-
 smalltalk.addMethod(
 "_open",
 smalltalk.method({

+ 40 - 0
js/Kernel-Objects.deploy.js

@@ -2476,6 +2476,34 @@ smalltalk.Package);
 
 
 smalltalk.Package.klass.iVarNames = ['defaultCommitPathJs','defaultCommitPathSt'];
+smalltalk.addMethod(
+"_commitPathsFromLoader",
+smalltalk.method({
+selector: "commitPathsFromLoader",
+fn: function (){
+var self=this;
+var $1,$2;
+var js;
+var st;
+var cp = smalltalk['@@commitPath'];
+        if (cp) { js = cp.js; st = cp.st; };
+;
+$1=js;
+if(($receiver = $1) == nil || $receiver == undefined){
+$1;
+} else {
+smalltalk.send(self,"_defaultCommitPathJs_",[js]);
+};
+$2=st;
+if(($receiver = $2) == nil || $receiver == undefined){
+$2;
+} else {
+smalltalk.send(self,"_defaultCommitPathSt_",[st]);
+};
+return self}
+}),
+smalltalk.Package.klass);
+
 smalltalk.addMethod(
 "_commitToLocalStorage_",
 smalltalk.method({
@@ -2593,6 +2621,18 @@ fn: function (aPackageName) {
 }),
 smalltalk.Package.klass);
 
+smalltalk.addMethod(
+"_initialize",
+smalltalk.method({
+selector: "initialize",
+fn: function (){
+var self=this;
+smalltalk.send(self,"_initialize",[],smalltalk.Object.klass);
+smalltalk.send(self,"_commitPathsFromLoader",[]);
+return self}
+}),
+smalltalk.Package.klass);
+
 smalltalk.addMethod(
 "_named_",
 smalltalk.method({

+ 50 - 0
js/Kernel-Objects.js

@@ -3422,6 +3422,39 @@ smalltalk.Package);
 
 
 smalltalk.Package.klass.iVarNames = ['defaultCommitPathJs','defaultCommitPathSt'];
+smalltalk.addMethod(
+"_commitPathsFromLoader",
+smalltalk.method({
+selector: "commitPathsFromLoader",
+category: 'commit paths',
+fn: function (){
+var self=this;
+var $1,$2;
+var js;
+var st;
+var cp = smalltalk['@@commitPath'];
+        if (cp) { js = cp.js; st = cp.st; };
+;
+$1=js;
+if(($receiver = $1) == nil || $receiver == undefined){
+$1;
+} else {
+smalltalk.send(self,"_defaultCommitPathJs_",[js]);
+};
+$2=st;
+if(($receiver = $2) == nil || $receiver == undefined){
+$2;
+} else {
+smalltalk.send(self,"_defaultCommitPathSt_",[st]);
+};
+return self},
+args: [],
+source: "commitPathsFromLoader\x0a\x09| js st |\x0a    <var cp = smalltalk['@@commitPath'];\x0a        if (cp) { js = cp.js; st = cp.st; }>.\x0a    js ifNotNil: [ self defaultCommitPathJs: js ].\x0a    st ifNotNil: [ self defaultCommitPathSt: st ].",
+messageSends: ["ifNotNil:", "defaultCommitPathJs:", "defaultCommitPathSt:"],
+referencedClasses: []
+}),
+smalltalk.Package.klass);
+
 smalltalk.addMethod(
 "_commitToLocalStorage_",
 smalltalk.method({
@@ -3579,6 +3612,23 @@ referencedClasses: []
 }),
 smalltalk.Package.klass);
 
+smalltalk.addMethod(
+"_initialize",
+smalltalk.method({
+selector: "initialize",
+category: 'initialization',
+fn: function (){
+var self=this;
+smalltalk.send(self,"_initialize",[],smalltalk.Object.klass);
+smalltalk.send(self,"_commitPathsFromLoader",[]);
+return self},
+args: [],
+source: "initialize\x0a\x09super initialize.\x0a    self commitPathsFromLoader",
+messageSends: ["initialize", "commitPathsFromLoader"],
+referencedClasses: []
+}),
+smalltalk.Package.klass);
+
 smalltalk.addMethod(
 "_named_",
 smalltalk.method({

+ 13 - 3
js/amber.js

@@ -102,13 +102,14 @@ amber = (function() {
 		}
 
 		var additionalFiles = spec.packages || spec.files;
+        var commitPathForInit = null;
 		if (additionalFiles) {
-			loadPackages(additionalFiles, spec.prefix, spec.packageHome);
+			commitPathForInit = loadPackages(additionalFiles, spec.prefix, spec.packageHome);
 		}
 
 		// Be sure to setup & initialize smalltalk classes
 		addJSToLoad('init.js');
-		initializeSmalltalk();
+		initializeSmalltalk(commitPathForInit);
 	};
 
 	function loadPackages(names, prefix, urlHome){
@@ -120,6 +121,11 @@ amber = (function() {
 			name = names[i].split(/\.js$/)[0];
 			addJSToLoad(name + '.js', prefix, urlHome);
 		}
+
+        return  {
+            js: urlHome+prefix,
+            st: urlHome+'st'
+        };
 	};
 
 	function addJSToLoad(name, prefix, urlHome) {
@@ -174,8 +180,12 @@ amber = (function() {
 	};
 
 	// This will be called after JS files have been loaded
-	function initializeSmalltalk() {
+	function initializeSmalltalk(commitPath) {
 		window.smalltalkReady = function() {
+            if (commitPath) {
+                smalltalk['@@commitPath'] = commitPath;
+                smalltalk.Package._commitPathsFromLoader();
+            }
 			if (spec.ready) {
 				spec.ready();
 			};

+ 0 - 10
st/IDE.st

@@ -1292,16 +1292,6 @@ updateTabsList
 	    onClick: [self selectTab: #comment]]
 ! !
 
-!Browser class methodsFor: 'accessing'!
-
-commitPathJs
-	^'js'
-!
-
-commitPathSt
-	^'st'
-! !
-
 !Browser class methodsFor: 'convenience'!
 
 open

+ 15 - 0
st/Kernel-Objects.st

@@ -1136,6 +1136,14 @@ Package class instanceVariableNames: 'defaultCommitPathJs defaultCommitPathSt'!
 
 !Package class methodsFor: 'commit paths'!
 
+commitPathsFromLoader
+	| js st |
+    <var cp = smalltalk['@@commitPath'];
+        if (cp) { js = cp.js; st = cp.st; }>.
+    js ifNotNil: [ self defaultCommitPathJs: js ].
+    st ifNotNil: [ self defaultCommitPathSt: st ].
+!
+
 defaultCommitPathJs
 	^ defaultCommitPathJs ifNil: [ defaultCommitPathJs := 'js']
 !
@@ -1157,6 +1165,13 @@ resetCommitPaths
         defaultCommitPathSt := nil.
 ! !
 
+!Package class methodsFor: 'initialization'!
+
+initialize
+	super initialize.
+    self commitPathsFromLoader
+! !
+
 !Package class methodsFor: 'loading-storing'!
 
 commitToLocalStorage: aPackageName