Skip to content

Commit

Permalink
adding possibility to bootstrap mockup development environment with n…
Browse files Browse the repository at this point in the history
…ix (``make bootstrap-nix``)
  • Loading branch information
garbas committed Feb 13, 2014
1 parent b250bd1 commit c582c89
Show file tree
Hide file tree
Showing 5 changed files with 6,466 additions and 22 deletions.
13 changes: 7 additions & 6 deletions .gitignore
@@ -1,12 +1,13 @@
*.py?
.idea

/bower_components
/build/
/jam/
/coverage/
/node_modules
/nixenv
/docs/
/jam/
/nixenv
/node_modules
/plone/mockup.egg-info/
/bower_components/
/test-results.xml
/sauce_connect.log*
.idea
/test-results.xml
40 changes: 24 additions & 16 deletions Makefile
Expand Up @@ -2,8 +2,9 @@
GIT = git
NPM = npm

GRUNT = ./node_modules/.bin/grunt
BOWER = ./node_modules/.bin/bower
GRUNT = ./node_modules/grunt-cli/bin/grunt
BOWER = ./node_modules/bower/bin/bower
NODE_PATH = ./node_modules

all: test-once bundle docs

Expand All @@ -18,48 +19,55 @@ bundle: bundle-barceloneta bundle-widgets bundle-toolbar bundle-structure bundle

bundle-plone:
mkdir -p build
NODE_PATH=./node_modules $(GRUNT) bundle-plone
NODE_PATH=$(NODE_PATH) $(GRUNT) bundle-plone

bundle-barceloneta:
mkdir -p build
NODE_PATH=./node_modules $(GRUNT) bundle-barceloneta
NODE_PATH=$(NODE_PATH) $(GRUNT) bundle-barceloneta

bundle-widgets:
mkdir -p build
NODE_PATH=./node_modules $(GRUNT) bundle-widgets
NODE_PATH=$(NODE_PATH) $(GRUNT) bundle-widgets

bundle-toolbar:
mkdir -p build
NODE_PATH=./node_modules $(GRUNT) bundle-toolbar
NODE_PATH=$(NODE_PATH) $(GRUNT) bundle-toolbar

bundle-structure:
NODE_PATH=./node_modules $(GRUNT) bundle-structure
NODE_PATH=$(NODE_PATH) $(GRUNT) bundle-structure

bootstrap: clean
bootstrap-common:
mkdir -p build
$(NPM) link --prefix=./node_modules
NODE_PATH=./node_modules $(GRUNT) sed:bootstrap

bootstrap: clean bootstrap-common
$(NPM) link --prefix=$(NODE_PATH)
NODE_PATH=$(NODE_PATH) $(GRUNT) sed:bootstrap
$(BOWER) install

bootstrap-nix: clean bootstrap-common
nix-build default.nix -A build -o nixenv
ln -s nixenv/lib/node_modules/plone-mockup/node_modules
ln -s nixenv/bower_components

jshint:
NODE_PATH=./node_modules $(GRUNT) jshint
NODE_PATH=$(NODE_PATH) $(GRUNT) jshint

test:
NODE_PATH=./node_modules $(GRUNT) test --force --pattern=$(pattern)
NODE_PATH=$(NODE_PATH) $(GRUNT) test --force --pattern=$(pattern)

test-once:
NODE_PATH=./node_modules $(GRUNT) test_once --force --pattern=$(pattern)
NODE_PATH=$(NODE_PATH) $(GRUNT) test_once --force --pattern=$(pattern)

test-dev:
NODE_PATH=./node_modules $(GRUNT) test_dev --force --pattern=$(pattern)
NODE_PATH=$(NODE_PATH) $(GRUNT) test_dev --force --pattern=$(pattern)

test-ci:
NODE_PATH=./node_modules $(GRUNT) test_ci
NODE_PATH=$(NODE_PATH) $(GRUNT) test_ci

docs:
if test ! -d docs; then $(GIT) clone git://github.com/plone/mockup.git -b gh-pages docs; fi
rm -rf docs/dev
NODE_PATH=./node_modules $(GRUNT) bundle-docs
NODE_PATH=$(NODE_PATH) $(GRUNT) bundle-docs

publish: publish-widgets publish-toolbar publish-structure publish-barceloneta publish-docs

Expand Down
122 changes: 122 additions & 0 deletions bower.nix
@@ -0,0 +1,122 @@
{ }: [
{ name = "domready";
version = "7f34949ce7453010c4984fb950eaeb5cfc583f94";
target = "7f34949ce7453010c4984fb950eaeb5cfc583f94";
outputHash = "015qgd1cb4hfwn7nddkjirizr8qgpbkfj0vgbjms9pdlvwvq60gg";
}
{ name = "es5-shim";
version = "2.3.0";
target = "2.3.0";
outputHash = "021mwrjnrhf64sx7nqmi1q52ypm10njp9m3pd0mvf9h139v98x9y";
}
{ name = "jquery-form";
version = "3.46.0";
target = "3.46.0";
outputHash = "11bnyx8ig3bc4vwskd99zxzbnzayh18vdkaklmjiwkg8jbcxix40";
}
{ name = "console-polyfill";
version = "0.1.0";
target = "0.1.0";
outputHash = "1np2wd11bh21rnsc3japc7s883pdimxm5gfvfd60sx1hbbcvgz8d";
}
{ name = "respond";
version = "1.4.2";
target = "1.4.2";
outputHash = "0nhrsy1iyrqvrb7pxpw8d3dqhzd0wgbbscf3wzixx3xbi6v4j6fk";
}
{ name = "jquery";
version = "1.8.3";
target = "1.8.3";
outputHash = "1jxwzq9wx5lavr220agm12p1abqwasv607f4vgini9rxbfp2ym1w";
}
{ name = "requirejs-text";
version = "2.0.10";
target = "2.0.10";
outputHash = "0s83zzk9syh568fjlzfdzmbb2csx1nmkcbvcjimi1achl0v7sk4q";
}
{ name = "select2";
version = "3.4.5";
target = "3.4.5";
outputHash = "1aibpwlnj5d10s7m7a7fci9jnv5nq1bq881fk952a8xz3p33mmd1";
}
{ name = "sinonjs";
version = "1.7.3";
target = "1.7.3";
outputHash = "0gkh9r5j5yzw1xn3l0ij828b7rd9mvfk5yj4wsvavlcm0m74znp3";
}
{ name = "dropzone";
version = "3.8.3";
target = "3.8.3";
outputHash = "1w1rqa8nwqs07ir4cwvir37jy120vj3vsp2c96flrivjkmbclwlc";
}
{ name = "moment";
version = "2.5.0";
target = "2.5.0";
outputHash = "1alj5ls5yz0dswsvvh0r6mal6kh9yh43nfrhyykfy3vms0pik2hr";
}
{ name = "jqtree";
version = "0.19.0";
target = "0.19.0";
outputHash = "04dmf0mvv41qgaw098rj0swx7pj435cg65v574yjimjkcvxkaqc6";
}
{ name = "mockup-core";
version = "1.0.2";
target = "1.0.2";
outputHash = "1sdpz7pqymz53kidcxdpkl35xnv3ycdk9s2pa7x9vqmk2fb3z5mm";
}
{ name = "expect";
version = "0.2.0";
target = "0.2.0";
outputHash = "0n6019p3j2vcd8lkg8ylks0da2v9971m9p0lrwkaa3chza65yxbd";
}
{ name = "lodash";
version = "2.4.1";
target = "2.4.1";
outputHash = "08jmf5hq8r055cq8c3flkg1ycmpdrrgi6s9070lddk6jljaqa2ha";
}
{ name = "backbone.paginator";
version = "0.8.1";
target = "0.8.1";
outputHash = "1caknrjn4iz1yg11g3ilma8l6mjgpgc9pzmwa4vz3r5gf1pcb2ds";
}
{ name = "pickadate";
version = "3.3.2";
target = "3.3.2";
outputHash = "17dy79llznqx05dmifhb08f6pxmznkx7bh0pld17ps6s869bkz21";
}
{ name = "ace-builds";
version = "1.1.1";
target = "1.1.1";
outputHash = "13p97qjs62g1vni79xy3aww6h4n3ppv62s8ciccrkvm907n0ql1j";
}
{ name = "html5shiv";
version = "3.7.0";
target = "3.7.0";
outputHash = "14cig7a7bjnbyvnk4rpf6l74j33rp1jaacigasgkgg6rzay7lcgs";
}
{ name = "marked";
version = "0.3.0";
target = "0.3.0";
outputHash = "1p1f4lxrjkzhxv1q2bb9yrlw60zwxnkba2zaziya0rw3w54gry6b";
}
{ name = "react";
version = "0.8.0";
target = "0.8.0";
outputHash = "1bjcgkz4qn756lpl9nyp7q2swiwv7ffwdaagqbzi4ginrc7q6p9i";
}
{ name = "bootstrap";
version = "3.1.0";
target = "3.1.0";
outputHash = "0q725cpz7lfryfh7k07b9h6dw7r55d47zgywv2rgglwhi7hgkwll";
}
{ name = "jquery.cookie";
version = "1.4.0";
target = "1.4.0";
outputHash = "1ad2k90b1f4fjazs6jzma4gxpqmwbzra36hrnchjp223hnasv263";
}
{ name = "backbone";
version = "1.1.0";
target = "1.1.0";
outputHash = "1rmjv0nhr7zbhh8553as6p1x8zraziz0y9s80b9b7bn4dni1apgq";
}
]
57 changes: 57 additions & 0 deletions default.nix
@@ -0,0 +1,57 @@
{ plone-mockup ? { outPath = ./.; name = "plone-mockup"; }
}:
let
pkgs = import <nixpkgs> {};
bowerPackages = import ./bower.nix { };
nodePackages = import <nixpkgs/pkgs/top-level/node-packages.nix> {
inherit pkgs;
inherit (pkgs) stdenv nodejs fetchurl fetchgit;
neededNatives = [ pkgs.python ] ++ pkgs.lib.optional pkgs.stdenv.isLinux pkgs.utillinux;
self = nodePackages;
generated = ./package.nix;
};
in rec {
tarball = pkgs.runCommand "plone-mockup-1.4.0.tgz" { buildInputs = [ pkgs.nodejs ]; } ''
mv `HOME=$PWD npm pack ${plone-mockup}` $out
'';
build = nodePackages.buildNodePackage {
name = "plone-mockup-1.4.0";
src = [ tarball ];
buildInputs = [ ];
deps = with nodePackages; [
bower
coveralls
extend
grunt
grunt-cli
grunt-contrib-copy
grunt-contrib-jshint
grunt-contrib-less
grunt-contrib-requirejs
grunt-contrib-uglify
grunt-karma
grunt-sed
karma
karma-chrome-launcher
karma-coverage
karma-junit-reporter
karma-mocha
karma-phantomjs-launcher
karma-requirejs
karma-sauce-launcher
karma-script-launcher
lcov-result-merger
mocha
requirejs
];
postInstall = ''
mkdir -p $out/bower_components
${pkgs.lib.concatStrings (map (p: ''
ln -s ${pkgs.fetchbower p.name p.version p.target p.outputHash}/packages/*/${p.version} $out/bower_components/${p.name}
'') bowerPackages )}
'';

peerDependencies = [];
passthru.names = [ "plone-mockup" ];
};
}

1 comment on commit c582c89

@mister-roboto
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

TESTS FAILED
Mr.roboto url : http://jenkins.plone.org/roboto/get_info?push=b95a264fb9bb41e1a72b981e1c9d3295
plone-5.0-python-2.7 [FAILURE]

Please sign in to comment.