Skip to content
This repository was archived by the owner on Apr 12, 2024. It is now read-only.

Explore using Jake instead of Rake #199

Closed
IgorMinar opened this issue Dec 20, 2010 · 13 comments · Fixed by #2103
Closed

Explore using Jake instead of Rake #199

IgorMinar opened this issue Dec 20, 2010 · 13 comments · Fixed by #2103
Assignees

Comments

@IgorMinar
Copy link
Contributor

http://howtonode.org/intro-to-jake

@IgorMinar
Copy link
Contributor Author

just to mention some benefits:

  • remove ruby dependency
  • standardize on node.js

@btford
Copy link
Contributor

btford commented Jul 19, 2012

What about grunt?

@IgorMinar
Copy link
Contributor Author

yes. grunt didn't exist / wasn't well known when this issue was created 2 years ago.

@btford
Copy link
Contributor

btford commented Jul 19, 2012

I so badly want to close these issues from 2 years ago. I agree that there's no need for a Ruby dependency. Can I port the Rake stuff to grunt so we can close this? =D

@IgorMinar
Copy link
Contributor Author

do it

@ghost ghost assigned btford Jul 19, 2012
@geddski
Copy link
Contributor

geddski commented Oct 17, 2012

Grunt is becoming the standard for JS projects. @btford have you started work on this yet? If not I'm happy to. We should probably target grunt@0.4.x that's coming out soon.

@btford
Copy link
Contributor

btford commented Oct 17, 2012

@GEDDesign, nope, it's been on my backlog forever, but I have not yet gotten started. Be my guest! It'd be awesome to finally get rid of that Ruby dependency.

@geddski
Copy link
Contributor

geddski commented Oct 17, 2012

on it

@pkozlowski-opensource
Copy link
Member

+100, having Grunt.js build for AngularJS would be awesome. It should really lower the entry barrier for people wanting to contribute to angular.

@geddski
Copy link
Contributor

geddski commented Nov 1, 2012

I'm just about done with this, and have one question: how set are we on using closure compiler? I can easily make it use uglify (using grunt's built-in minify task) and we'd drop the Ruby and Java dependencies. That alright?

@geddski
Copy link
Contributor

geddski commented Nov 9, 2012

This is done and ready for review. I kept it using Closure Compiler for now, we can look into uglify later if y'all want.

p.s. @btford great job on the Angular QA today, even if you weren't a fan my $scope.$$phase hack :)

@btford
Copy link
Contributor

btford commented Nov 9, 2012

@GEDDesign Excellent work!

And thank you for your suggestion during the Q&A; it certainly got the job done! My hesitation to use it was because I'm always looking for the "best" way to do something, especially when giving advice to others. Those $$ properties are typically considered "private" and subject to change without much notice, so method may not work in the future.

@geddski
Copy link
Contributor

geddski commented Nov 19, 2012

I've fixed the few things preventing the docs and zip tasks from working in Windows, so that should make some folks happy. Now Windows users can run the end-to-end tests when contributing to Angular.

IgorMinar pushed a commit that referenced this issue Mar 6, 2013
Migrates the Angular project from Rake to Grunt.

Benefits:
- Drops Ruby dependency
- Lowers barrier to entry for contributions from JavaScript ninjas
- Simplifies the Angular project setup and build process
- Adopts industry-standard tools specific to JavaScript projects
- Support building angular.js on Windows platform (really?!? why?!?)

BREAKING CHANGE: Rake is completely replaced by Grunt. Below are the deprecated Rake tasks and their Grunt equivalents:

rake --> grunt
rake package --> grunt package
rake init --> N/A
rake clean --> grunt clean
rake concat_scenario --> grunt build:scenario
rake concat --> grunt build
rake concat_scenario --> grunt build:scenario
rake minify --> grunt minify
rake version --> grunt write:version
rake docs --> grunt docs
rake webserver --> grunt webserver
rake test --> grunt test
rake test:unit --> grunt test:unit
rake test:<jqlite|jquery|modules|e2e> --> grunt test:<jqlite|jquery|modules|end2end|e2e>
rake test[Firefox+Safari] --> grunt test --browsers Firefox,Safari
rake test[Safari] --> grunt test --browsers Safari
rake autotest --> grunt autotest

NOTES:
* For convenience grunt test:e2e starts a webserver for you, while grunt test:end2end doesn't.
  Use grunt test:end2end if you already have the webserver running.
* Removes duplicate entry for Describe.js in the angularScenario section of angularFiles.js
* Updates docs/src/gen-docs.js to use #done intead of the deprecated #end
* Uses grunt-contrib-connect instead of lib/nodeserver (removed)
* Removes nodeserver.sh, travis now uses grunt webserver
* Built and minified files are identical to Rake's output, with the exception of one less
  character for git revisions (using --short) and a couple minor whitespace differences

Closes #199

Conflicts:

	Rakefile
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
None yet
Development

Successfully merging a pull request may close this issue.

4 participants