Skip to content

Commit 2cb4636

Browse files
committed
Bring in TerriaJS via npm instead of a git submodule.
1 parent 5817a1f commit 2cb4636

File tree

6 files changed

+84
-111
lines changed

6 files changed

+84
-111
lines changed

.gitmodules

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +0,0 @@
1-
[submodule "third_party/TerriaJS"]
2-
path = third_party/TerriaJS
3-
url = https://github.com/NICTA/TerriaJS.git

gulpfile.js

Lines changed: 19 additions & 42 deletions
Original file line numberDiff line numberDiff line change
@@ -7,30 +7,28 @@ var glob = require('glob-all');
77
var gulp = require('gulp');
88
var gutil = require('gulp-util');
99
var browserify = require('browserify');
10-
var concat = require('gulp-concat');
1110
var jshint = require('gulp-jshint');
1211
var jsdoc = require('gulp-jsdoc');
1312
var less = require('gulp-less');
1413
var uglify = require('gulp-uglify');
15-
var jasmine = require('gulp-jasmine');
16-
var exec = require('child_process').exec;
1714
var sourcemaps = require('gulp-sourcemaps');
1815
var exorcist = require('exorcist');
1916
var buffer = require('vinyl-buffer');
2017
var transform = require('vinyl-transform');
2118
var source = require('vinyl-source-stream');
2219
var watchify = require('watchify');
20+
var NpmImportPlugin = require("less-plugin-npm-import");
2321

2422

2523
var appJSName = 'ausglobe.js';
2624
var specJSName = 'ausglobe-specs.js';
2725
var appEntryJSName = './src/main.js';
2826
var workerGlob = [
29-
'./third_party/TerriaJS/third_party/cesium/Source/Workers/*.js',
30-
'!./third_party/TerriaJS/third_party/cesium/Source/Workers/*.profile.js',
31-
'!./third_party/TerriaJS/third_party/cesium/Source/Workers/cesiumWorkerBootstrapper.js',
32-
'!./third_party/TerriaJS/third_party/cesium/Source/Workers/transferTypedArrayTest.js',
33-
'!./third_party/TerriaJS/third_party/cesium/Source/Workers/createTaskProcessorWorker.js'
27+
'./node_modules/terriajs/Cesium/Source/Workers/*.js',
28+
'!./node_modules/terriajs/Cesium/Source/Workers/*.profile.js',
29+
'!./node_modules/terriajs/Cesium/Source/Workers/cesiumWorkerBootstrapper.js',
30+
'!./node_modules/terriajs/Cesium/Source/Workers/transferTypedArrayTest.js',
31+
'!./node_modules/terriajs/Cesium/Source/Workers/createTaskProcessorWorker.js'
3432
];
3533
var specGlob = './spec/**/*.js';
3634

@@ -41,39 +39,41 @@ if (!fs.existsSync('public/build')) {
4139
fs.mkdirSync('public/build');
4240
}
4341

44-
gulp.task('build-app', ['prepare-cesium'], function() {
42+
gulp.task('build-app', ['prepare-terriajs'], function() {
4543
return build(appJSName, appEntryJSName, false);
4644
});
4745

48-
gulp.task('build-specs', ['prepare-cesium'], function() {
46+
gulp.task('build-specs', ['prepare-terriajs'], function() {
4947
return build(specJSName, glob.sync(specGlob), false);
5048
});
5149

5250
gulp.task('build-css', function() {
5351
return gulp.src('./src/main.less')
5452
.pipe(less({
55-
53+
plugins: [
54+
new NpmImportPlugin()
55+
]
5656
}))
5757
.pipe(gulp.dest('./public/build'));
5858
});
5959

6060
gulp.task('build', ['build-css', 'build-app', 'build-specs']);
6161

62-
gulp.task('release-app', ['prepare-cesium'], function() {
62+
gulp.task('release-app', ['prepare-terriajs'], function() {
6363
return build(appJSName, appEntryJSName, true);
6464
});
6565

66-
gulp.task('release-specs', ['prepare-cesium'], function() {
66+
gulp.task('release-specs', ['prepare-terriajs'], function() {
6767
return build(specJSName, glob.sync(specGlob), true);
6868
});
6969

7070
gulp.task('release', ['build-css', 'release-app', 'release-specs']);
7171

72-
gulp.task('watch-app', ['prepare-cesium'], function() {
72+
gulp.task('watch-app', ['prepare-terriajs'], function() {
7373
return watch(appJSName, appEntryJSName, false);
7474
});
7575

76-
gulp.task('watch-specs', ['prepare-cesium'], function() {
76+
gulp.task('watch-specs', ['prepare-terriajs'], function() {
7777
return watch(specJSName, glob.sync(specGlob), false);
7878
});
7979

@@ -97,34 +97,11 @@ gulp.task('docs', function(){
9797
}));
9898
});
9999

100-
gulp.task('prepare-cesium', ['build-cesium', 'copy-cesium-assets', 'copy-cesiumWorkerBootstrapper']);
101-
102-
gulp.task('build-cesium', function(cb) {
103-
return exec('"Tools/apache-ant-1.8.2/bin/ant" build', {
104-
cwd : 'third_party/TerriaJS/third_party/cesium'
105-
}, function(err, stdout, stderr) {
106-
if (stderr) {
107-
console.log('Error while building Cesium: ');
108-
console.log(stderr);
109-
}
110-
cb(err);
111-
});
112-
});
113-
114-
gulp.task('copy-cesium-assets', function() {
100+
gulp.task('prepare-terriajs', function() {
115101
return gulp.src([
116-
'third_party/TerriaJS/third_party/cesium/Source/Workers/transferTypedArrayTest.js',
117-
'third_party/TerriaJS/third_party/cesium/Source/ThirdParty/Workers/**',
118-
'third_party/TerriaJS/third_party/cesium/Source/Assets/**',
119-
'third_party/TerriaJS/third_party/cesium/Source/Widgets/**/*.css',
120-
'third_party/TerriaJS/third_party/cesium/Source/Widgets/Images/**'
121-
], { base: 'third_party/TerriaJS/third_party/cesium/Source' })
122-
.pipe(gulp.dest('public/build/Cesium/'));
123-
});
124-
125-
gulp.task('copy-cesiumWorkerBootstrapper', function() {
126-
return gulp.src('third_party/TerriaJS/src/cesiumWorkerBootstrapper.js')
127-
.pipe(gulp.dest('public/build/Cesium/Workers'));
102+
'node_modules/terriajs/build/**'
103+
], { base: 'node_modules/terriajs/build' })
104+
.pipe(gulp.dest('public/build/'));
128105
});
129106

130107
gulp.task('default', ['lint', 'build']);

package.json

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@
1818
"proj4js-defs": "0.0.1",
1919
"request": "*",
2020
"supervisor": "^0.4.1",
21+
"terriajs": "0.0.12",
2122
"yargs": "1.2.6"
2223
},
2324
"devDependencies": {
@@ -32,21 +33,20 @@
3233
"gulp-jasmine": "~0.2.0",
3334
"gulp-jsdoc": "^0.1.4",
3435
"gulp-jshint": "~1.6.1",
35-
"gulp-less": "^1.3.6",
36+
"gulp-less": "^3.0.2",
3637
"gulp-sourcemaps": "1.1.0",
3738
"gulp-uglify": "0.3.1",
3839
"gulp-util": "^3.0.0",
3940
"gulp-watch": "~0.6.5",
4041
"less": "^2.1.1",
42+
"less-plugin-npm-import": "^2.0.0",
4143
"vinyl-buffer": "0.0.0",
4244
"vinyl-source-stream": "^0.1.1",
4345
"vinyl-transform": "0.0.1",
4446
"watchify": "^3.1.0"
4547
},
4648
"scripts": {
47-
"start": "node_modules/.bin/supervisor server",
48-
"submodules": "git submodule init && git submodule update && cd third_party/TerriaJS && git submodule init && git submodule update && cd ../..",
49-
"postinstall": "ln -s -n -f ../third_party/TerriaJS/src/ ./node_modules/TerriaJS && ln -s -n -f ../third_party/TerriaJS/third_party/cesium/Source/ ./node_modules/Cesium"
49+
"start": "node_modules/.bin/supervisor server"
5050
},
5151
"browser": {
5252
"knockout": "./third_party/cesium/Source/ThirdParty/knockout.js"

src/main.js

Lines changed: 38 additions & 38 deletions
Original file line numberDiff line numberDiff line change
@@ -4,8 +4,8 @@
44

55
var start = true;
66

7-
var PopupMessageViewModel = require('TerriaJS/ViewModels/PopupMessageViewModel');
8-
var FeatureDetection = require('Cesium/Core/FeatureDetection');
7+
var PopupMessageViewModel = require('terriajs/ViewModels/PopupMessageViewModel');
8+
var FeatureDetection = require('terriajs/Cesium/Source/Core/FeatureDetection');
99

1010
// If we're not in a normal browser environment (Web Worker maybe?), do nothing.
1111
if (typeof window === 'undefined') {
@@ -50,42 +50,42 @@ if (start) {
5050

5151
var copyright = require('./CopyrightModule'); // jshint ignore:line
5252

53-
var BingMapsStyle = require('Cesium/Scene/BingMapsStyle');
54-
var defined = require('Cesium/Core/defined');
55-
var knockout = require('Cesium/ThirdParty/knockout');
56-
57-
var AusGlobeViewer = require('TerriaJS/viewer/AusGlobeViewer');
58-
var registerKnockoutBindings = require('TerriaJS/Core/registerKnockoutBindings');
59-
60-
var AddDataPanelViewModel = require('TerriaJS/ViewModels/AddDataPanelViewModel');
61-
var BaseMapViewModel = require('TerriaJS/ViewModels/BaseMapViewModel');
62-
var BingMapsSearchProviderViewModel = require('TerriaJS/ViewModels/BingMapsSearchProviderViewModel');
63-
var CatalogItemNameSearchProviderViewModel = require('TerriaJS/ViewModels/CatalogItemNameSearchProviderViewModel');
64-
var BrandBarViewModel = require('TerriaJS/ViewModels/BrandBarViewModel');
65-
var DataCatalogTabViewModel = require('TerriaJS/ViewModels/DataCatalogTabViewModel');
66-
var DistanceLegendViewModel = require('TerriaJS/ViewModels/DistanceLegendViewModel');
67-
var DragDropViewModel = require('TerriaJS/ViewModels/DragDropViewModel');
68-
var ExplorerPanelViewModel = require('TerriaJS/ViewModels/ExplorerPanelViewModel');
69-
var FeatureInfoPanelViewModel = require('TerriaJS/ViewModels/FeatureInfoPanelViewModel');
70-
var GazetteerSearchProviderViewModel = require('TerriaJS/ViewModels/GazetteerSearchProviderViewModel');
71-
var LocationBarViewModel = require('TerriaJS/ViewModels/LocationBarViewModel');
72-
var MenuBarViewModel = require('TerriaJS/ViewModels/MenuBarViewModel');
73-
var MenuBarItemViewModel = require('TerriaJS/ViewModels/MenuBarItemViewModel');
74-
var NavigationViewModel = require('TerriaJS/ViewModels/NavigationViewModel');
75-
var NowViewingTabViewModel = require('TerriaJS/ViewModels/NowViewingTabViewModel');
76-
var OnePanelOpenInTopRight = require('TerriaJS/ViewModels/OnePanelOpenInTopRight');
77-
var SearchTabViewModel = require('TerriaJS/ViewModels/SearchTabViewModel');
78-
var SettingsPanelViewModel = require('TerriaJS/ViewModels/SettingsPanelViewModel');
79-
var SharePopupViewModel = require('TerriaJS/ViewModels/SharePopupViewModel');
80-
var ToolsPanelViewModel = require('TerriaJS/ViewModels/ToolsPanelViewModel');
81-
82-
var Application = require('TerriaJS/Models/Application');
83-
var ArcGisMapServerCatalogItem = require('TerriaJS/Models/ArcGisMapServerCatalogItem');
84-
var BingMapsCatalogItem = require('TerriaJS/Models/BingMapsCatalogItem');
85-
var CompositeCatalogItem = require('TerriaJS/Models/CompositeCatalogItem');
86-
var WebMapServiceCatalogItem = require('TerriaJS/Models/WebMapServiceCatalogItem');
87-
var registerCatalogMembers = require('TerriaJS/Models/registerCatalogMembers');
88-
var raiseErrorToUser = require('TerriaJS/Models/raiseErrorToUser');
53+
var BingMapsStyle = require('terriajs/Cesium/Source/Scene/BingMapsStyle');
54+
var defined = require('terriajs/Cesium/Source/Core/defined');
55+
var knockout = require('terriajs/Cesium/Source/ThirdParty/knockout');
56+
57+
var AusGlobeViewer = require('terriajs/viewer/AusGlobeViewer');
58+
var registerKnockoutBindings = require('terriajs/Core/registerKnockoutBindings');
59+
60+
var AddDataPanelViewModel = require('terriajs/ViewModels/AddDataPanelViewModel');
61+
var BaseMapViewModel = require('terriajs/ViewModels/BaseMapViewModel');
62+
var BingMapsSearchProviderViewModel = require('terriajs/ViewModels/BingMapsSearchProviderViewModel');
63+
var CatalogItemNameSearchProviderViewModel = require('terriajs/ViewModels/CatalogItemNameSearchProviderViewModel');
64+
var BrandBarViewModel = require('terriajs/ViewModels/BrandBarViewModel');
65+
var DataCatalogTabViewModel = require('terriajs/ViewModels/DataCatalogTabViewModel');
66+
var DistanceLegendViewModel = require('terriajs/ViewModels/DistanceLegendViewModel');
67+
var DragDropViewModel = require('terriajs/ViewModels/DragDropViewModel');
68+
var ExplorerPanelViewModel = require('terriajs/ViewModels/ExplorerPanelViewModel');
69+
var FeatureInfoPanelViewModel = require('terriajs/ViewModels/FeatureInfoPanelViewModel');
70+
var GazetteerSearchProviderViewModel = require('terriajs/ViewModels/GazetteerSearchProviderViewModel');
71+
var LocationBarViewModel = require('terriajs/ViewModels/LocationBarViewModel');
72+
var MenuBarViewModel = require('terriajs/ViewModels/MenuBarViewModel');
73+
var MenuBarItemViewModel = require('terriajs/ViewModels/MenuBarItemViewModel');
74+
var NavigationViewModel = require('terriajs/ViewModels/NavigationViewModel');
75+
var NowViewingTabViewModel = require('terriajs/ViewModels/NowViewingTabViewModel');
76+
var OnePanelOpenInTopRight = require('terriajs/ViewModels/OnePanelOpenInTopRight');
77+
var SearchTabViewModel = require('terriajs/ViewModels/SearchTabViewModel');
78+
var SettingsPanelViewModel = require('terriajs/ViewModels/SettingsPanelViewModel');
79+
var SharePopupViewModel = require('terriajs/ViewModels/SharePopupViewModel');
80+
var ToolsPanelViewModel = require('terriajs/ViewModels/ToolsPanelViewModel');
81+
82+
var Application = require('terriajs/Models/Application');
83+
var ArcGisMapServerCatalogItem = require('terriajs/Models/ArcGisMapServerCatalogItem');
84+
var BingMapsCatalogItem = require('terriajs/Models/BingMapsCatalogItem');
85+
var CompositeCatalogItem = require('terriajs/Models/CompositeCatalogItem');
86+
var WebMapServiceCatalogItem = require('terriajs/Models/WebMapServiceCatalogItem');
87+
var registerCatalogMembers = require('terriajs/Models/registerCatalogMembers');
88+
var raiseErrorToUser = require('terriajs/Models/raiseErrorToUser');
8989

9090
registerKnockoutBindings();
9191
registerCatalogMembers();

src/main.less

Lines changed: 23 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -49,30 +49,30 @@
4949

5050

5151

52-
@import "../third_party/TerriaJS/src/Styles/Reset.less";
53-
@import "../third_party/TerriaJS/src/Styles/Core.less";
54-
@import "../third_party/TerriaJS/src/Styles/Panels.less";
55-
@import "../third_party/TerriaJS/src/Styles/Map.less";
56-
@import "../third_party/TerriaJS/src/Styles/Floating.less";
52+
@import "npm://terriajs/Styles/Reset.less";
53+
@import "npm://terriajs/Styles/Core.less";
54+
@import "npm://terriajs/Styles/Panels.less";
55+
@import "npm://terriajs/Styles/Map.less";
56+
@import "npm://terriajs/Styles/Floating.less";
5757

5858
// Individual widgets
59-
@import "../third_party/TerriaJS/src/Styles/AddDataPanel.less";
60-
@import "../third_party/TerriaJS/src/Styles/BrandBar.less";
61-
@import "../third_party/TerriaJS/src/Styles/CatalogItemInfo.less";
62-
@import "../third_party/TerriaJS/src/Styles/DistanceLegend.less";
63-
@import "../third_party/TerriaJS/src/Styles/DragDrop.less";
64-
@import "../third_party/TerriaJS/src/Styles/ExplorerPanel.less";
65-
@import "../third_party/TerriaJS/src/Styles/FeatureInfoPanel.less";
66-
@import "../third_party/TerriaJS/src/Styles/LocationBar.less";
67-
@import "../third_party/TerriaJS/src/Styles/MenuBar.less";
68-
@import "../third_party/TerriaJS/src/Styles/Navigation.less";
69-
@import "../third_party/TerriaJS/src/Styles/PopupMessage.less";
70-
@import "../third_party/TerriaJS/src/Styles/SelectionIndicator.less";
71-
@import "../third_party/TerriaJS/src/Styles/SettingsPanel.less";
72-
@import "../third_party/TerriaJS/src/Styles/SharePopup.less";
73-
@import "../third_party/TerriaJS/src/Styles/ToolsPanel.less";
59+
@import "npm://terriajs/Styles/AddDataPanel.less";
60+
@import "npm://terriajs/Styles/BrandBar.less";
61+
@import "npm://terriajs/Styles/CatalogItemInfo.less";
62+
@import "npm://terriajs/Styles/DistanceLegend.less";
63+
@import "npm://terriajs/Styles/DragDrop.less";
64+
@import "npm://terriajs/Styles/ExplorerPanel.less";
65+
@import "npm://terriajs/Styles/FeatureInfoPanel.less";
66+
@import "npm://terriajs/Styles/LocationBar.less";
67+
@import "npm://terriajs/Styles/MenuBar.less";
68+
@import "npm://terriajs/Styles/Navigation.less";
69+
@import "npm://terriajs/Styles/PopupMessage.less";
70+
@import "npm://terriajs/Styles/SelectionIndicator.less";
71+
@import "npm://terriajs/Styles/SettingsPanel.less";
72+
@import "npm://terriajs/Styles/SharePopup.less";
73+
@import "npm://terriajs/Styles/ToolsPanel.less";
7474

7575
// Tabs on the Explorer Panel
76-
@import "../third_party/TerriaJS/src/Styles/DataCatalogTab.less";
77-
@import "../third_party/TerriaJS/src/Styles/NowViewingTab.less";
78-
@import "../third_party/TerriaJS/src/Styles/SearchTab.less";
76+
@import "npm://terriajs/Styles/DataCatalogTab.less";
77+
@import "npm://terriajs/Styles/NowViewingTab.less";
78+
@import "npm://terriajs/Styles/SearchTab.less";

third_party/TerriaJS

Lines changed: 0 additions & 1 deletion
This file was deleted.

0 commit comments

Comments
 (0)