@@ -5,12 +5,56 @@ RELEASE_NEXT:=16.04
55# RELEASE_NEXT_BRANCH:=release_$(RELEASE_NEXT)
66RELEASE_NEXT_BRANCH: =dev
77RELEASE_UPSTREAM: =upstream
8+ # Location of virtualenv used for development.
9+ VENV? =.venv
10+ # Source virtualenv to execute command (flake8, sphinx, twine, etc...)
11+ IN_VENV =if [ -f $(VENV ) /bin/activate ]; then . $(VENV ) /bin/activate; fi;
12+ PROJECT_URL? =https://github.com/galaxyproject/galaxy
813GRUNT_DOCKER_NAME: =galaxy/client-builder:16.01
914
1015all : help
1116 @echo " This makefile is primarily used for building Galaxy's JS client. A sensible all target is not yet implemented."
1217
13- npm-deps :
18+ docs : # # generate Sphinx HTML documentation, including API docs
19+ $(IN_VENV ) $(MAKE ) -C doc clean
20+ $(IN_VENV ) $(MAKE ) -C doc html
21+
22+ _open-docs :
23+ open doc/_build/html/index.html || xdg-open doc/_build/html/index.html
24+
25+ open-docs : docs _open-docs # # generate Sphinx HTML documentation and open in browser
26+
27+ open-project : # # open project on github
28+ open $(PROJECT_URL ) || xdg-open $(PROJECT_URL )
29+
30+ lint : # # check style using tox and flake8 for Python 2 and Python 3
31+ $(IN_VENV ) tox -e py27-lint && tox -e py34-lint
32+
33+ release-ensure-upstream : # # Ensure upstream branch for release commands setup
34+ if [ ! ` git remote -v | grep -q $( RELEASE_UPSTREAM) ` ]; then git remote add $( RELEASE_UPSTREAM) git@github.com:galaxyproject/galaxy.git; fi
35+
36+ release-merge-stable-to-next : release-ensure-upstream # # Merge last release into dev
37+ git fetch $(RELEASE_UPSTREAM ) && git checkout dev && git merge --ff-only $(RELEASE_UPSTREAM ) /dev && git merge $(RELEASE_UPSTREAM ) /$(RELEASE_PREVIOUS )
38+
39+ release-push-dev : release-ensure-upstream # Push local dev branch upstream
40+ git push $(RELEASE_UPSTREAM ) dev
41+
42+ release-issue : # # Create release issue on github
43+ $(IN_VENV ) python scripts/bootstrap_history.py --create-release-issue $(RELEASE_CURR )
44+
45+ release-check-metadata : # # check github PR metadata for target release
46+ $(IN_VENV ) python scripts/bootstrap_history.py --check-release $(RELEASE_CURR )
47+
48+ release-check-blocking-issues : # # Check github for release blocking issues
49+ $(IN_VENV ) python scripts/bootstrap_history.py --check-blocking-issues $(RELEASE_CURR )
50+
51+ release-check-blocking-prs : # # Check github for release blocking PRs
52+ $(IN_VENV ) python scripts/bootstrap_history.py --check-blocking-prs $(RELEASE_CURR )
53+
54+ release-bootstrap-history : # # bootstrap history for a new release
55+ $(IN_VENV ) python scripts/bootstrap_history.py --release $(RELEASE_CURR )
56+
57+ npm-deps : # # Install NodeJS dependencies.
1458 cd client && npm install
1559
1660grunt : npm-deps # # Calls out to Grunt to build client
@@ -22,7 +66,7 @@ style: npm-deps ## Calls the style task of Grunt
2266webpack : npm-deps # # Pack javascript
2367 cd client && node_modules/webpack/bin/webpack.js -p
2468
25- client : grunt style webpack # # Process all client-side tasks
69+ client : grunt style webpack # # Rebuild all client-side artifacts
2670
2771grunt-docker-image : # # Build docker image for running grunt
2872 docker build -t ${GRUNT_DOCKER_NAME} client
@@ -35,13 +79,13 @@ clean-grunt-docker-image: ## Remove grunt docker image
3579
3680
3781# Release Targets
38- create_release_rc : # # Create a release-candidate branch
82+ release-create-rc : release-ensure-upstream # # Create a release-candidate branch
3983 git checkout dev
40- git pull --ff-only ${ RELEASE_UPSTREAM} dev
84+ git pull --ff-only $( RELEASE_UPSTREAM ) dev
4185 git push origin dev
4286 git checkout -b release_$(RELEASE_CURR )
4387 git push origin release_$(RELEASE_CURR )
44- git push ${ RELEASE_UPSTREAM} release_$(RELEASE_CURR )
88+ git push $( RELEASE_UPSTREAM ) release_$(RELEASE_CURR )
4589 git checkout -b version-$(RELEASE_CURR )
4690 sed -i " s/^VERSION_MAJOR = .*/VERSION_MAJOR = \" $( RELEASE_CURR) \" /" lib/galaxy/version.py
4791 sed -i " s/^VERSION_MINOR = .*/VERSION_MINOR = \" rc1\" /" lib/galaxy/version.py
@@ -62,8 +106,11 @@ create_release_rc: ## Create a release-candidate branch
62106 git push origin version-$(RELEASE_NEXT).dev:version-$(RELEASE_NEXT).dev
63107 git branch -d version-$(RELEASE_CURR)
64108 git branch -d version-$(RELEASE_NEXT).dev
109+ # TODO: Use hub to automate these PR creations or push directly.
110+ @echo "Open a PR from version-$(RELEASE_CURR) of your fork to release_$(RELEASE_CURR)"
111+ @echo "Open a PR from version-$(RELEASE_NEXT).dev of your fork to dev"
65112
66- create_release : # # Create a release branch
113+ create_release : release-ensure-upstream # # Create a release branch
67114 git pull --ff-only $(RELEASE_UPSTREAM ) master
68115 git push origin master
69116 git checkout release_$(RELEASE_CURR )
0 commit comments