I am using Eclipse J2EE with Google plugin for developing Java based web applications. I am also using GitHub private repository so that multiple developers can contribute to the development of the site.
Inside my project directory I have the following files
/.project
/.classpath
/build/build.xml
/build/compiler.jar
/war/js/expanded1.js
/war/js/expanded2.js
/war/js/minfied.js
/war/index.html
The build.xml
will run google closure compiler.jar
to compile all my expanded JS files into one file minified.js
But now my question is - how do I make it so that all the following is true?
- Locally when I run the app engine server (right click project | Run As | Web Application) index.html will use the expanded js files for easy debugging
- When I deploy to production (right click project | Google | Deploy To App Engine) index.html will use the minfied js files
- The expanded js files are not available for download on the production version (I would like to limit access to expanded files only in GitHub)
- When I update and save an expanded js file, the local server picks up the changes instantly with just browser refresh
This is my first time using google app engine - I basically want there to be a way to specify one set of files that works locally, and one set of files that gets deployed.
It seems at least on the surface that I have just one directory called "war" in which to put my files, and everything in that folder will get deployed, which would make deploying a pain because it would require me to manually move files around to other directories before and after deploying, which would probably screw up the version history of the files in GitHub.
Plus I want the directory structure to be as stable as possible so that other developers could use the same environment setup and get up and running really fast.
Any seasoned google app engine users out there know the best practice when setting up a site like this?