Skip to content

Commit 5afabf0

Browse files
committed
Merge pull request #125 from neelabhg/fixes_and_updates
Fixes and updates
2 parents 94ac5ff + 17d18c2 commit 5afabf0

21 files changed

+214
-139
lines changed

.editorconfig

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,3 +19,6 @@ insert_final_newline = true
1919

2020
[*.md]
2121
trim_trailing_whitespace = false
22+
23+
[{bower.json,package.json,.travis.yml}]
24+
indent_size = 2

.jscsrc

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
{
22
"preset": "crockford",
33
"requireMultipleVarDecl": null,
4-
"disallowDanglingUnderscores": null
4+
"disallowDanglingUnderscores": null,
5+
"requireVarDeclFirst": null
56
}

.travis.yml

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,9 @@
1+
sudo: false # this ensures our build is routed to Travis CI's new container-based infrastructure
12
language: node_js
2-
node_js:
3-
- "0.10"
3+
cache:
4+
directories:
5+
- node_modules
6+
- bower_components
47
before_install: npm install -g bower grunt-cli
58
notifications:
69
email: false

CONTRIBUTING.md

Lines changed: 69 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ contribution process easy and effective for everyone involved. These are just gu
44
judgment and feel free to propose changes to this document in a pull request or issue.
55

66
## Using the issue tracker
7-
The [issue tracker](https://github.com/twbs/bootstrap/issues) is the preferred channel for bug reports, feature
7+
The [issue tracker](https://github.com/cs-education/sysbuild/issues) is the preferred channel for bug reports, feature
88
requests and [submitting pull requests](#pull-requests).
99

1010
Bug reports are extremely helpful, and are encouraged! Information about your environment, such as your browser and
@@ -14,6 +14,44 @@ You can also post on the chat room or reach out to the project team directly if
1414
[Community and Collaboration](README.md#community-and-collaboration) section in the README for directions.
1515
It also contains details on the project team's workflow.
1616

17+
If you would like to work on this project, see the information below to get started.
18+
19+
## Project organization
20+
This is the main repository for the project. Other repositories which are part of the project are:
21+
22+
* [cs-education/jor1k](https://github.com/cs-education/jor1k) - The virtual machine embedded into the browser
23+
24+
* [cs-education/sysassets](https://github.com/cs-education/sysassets) - Pre-compiled assets used in the project, such
25+
as lecture videos, lessons, man pages, and the jor1k filesystem
26+
27+
We use [GitHub Pages](https://help.github.com/articles/what-are-github-pages) for hosting the application. The
28+
repositories used for deployment are separate from this repository, to keep this repository small. You probably won't
29+
be committing changes directly to these repositories, but instead use automated deployment scripts (see
30+
[Deploying](#deploying) below). The following repositories are used for deployment:
31+
32+
* [cs-education/sys-staging](https://github.com/cs-education/sys-staging) - Staging deployment for the project, used
33+
for testing before deploying to production
34+
35+
* [cs-education/sys](https://github.com/cs-education/sys) - Production deployment for the project
36+
37+
## Structure of this repository
38+
```
39+
sysbuild/
40+
├── app/ Application source code
41+
│ ├── images/ Images/pictures
42+
│ ├── jor1k/ The jor1k project source copied by grunt during setup
43+
│ ├── scripts/ Javascript files
44+
│ └── styles/ SASS and CSS files
45+
├── dist/ The distributable application output by the build process
46+
├── bower_components/ Dependencies installed by Bower
47+
├── node_modules/ Dependencies installed by npm
48+
├── sys-gh-pages-config/ Config for the application deployed on production
49+
└── test/ Tests
50+
└── spec/
51+
```
52+
53+
This project was scaffolded using the [Yeoman webapp generator](https://github.com/yeoman/generator-webapp).
54+
1755
## Development environment set up
1856
1. [Set up Git](https://help.github.com/articles/set-up-git/) and install [Node.js](https://nodejs.org/).
1957
Node's package manager ([npm](https://www.npmjs.org/)) comes bundled.
@@ -104,7 +142,7 @@ changes from the main (upstream) repository:
104142
`git checkout master`
105143

106144
3. Delete the local branch:
107-
`git branch -D my-fix-branch`
145+
`git branch -D <topic-branch-name>`
108146

109147
4. Update your local `master` branch with the latest upstream version:
110148
`git pull upstream master`
@@ -167,7 +205,25 @@ have a compelling reason for it.
167205
* If your pull request contains a fix for a bug or implements a new feature, you can have the corresponding issue
168206
[closed automatically](https://github.com/blog/1506-closing-issues-via-pull-requests) when the pull request is merged.
169207

170-
## Useful tools and tips for development
208+
## Deploying
209+
**NOTE**: You will need push access to the appropriate repository before you can deploy to an official URL. If you want
210+
to deploy to your own repository or server, only perform the first (build) step and upload the contents of `dist/`
211+
to your repository's `gh-pages` branch or to the web folder on your server.
212+
213+
1. Build the distributable project (output in the `dist/` folder):
214+
`grunt build`
215+
216+
2. Deploy to [staging](https://cs-education.github.io/sys-staging/):
217+
`grunt deploy:staging`
218+
219+
3. Test out the application in staging and ensure things work as expected. Once things look good, please announce in
220+
the chat room that you are going to deploy to production.
221+
222+
4. Deploy to [production](https://cs-education.github.io/sys/):
223+
`grunt deploy:prod`
224+
225+
## Development notes
226+
### Useful commands
171227
* Run `grunt serve` to start a local development server. It will automatically launch the default browser and navigate to
172228
the local application. It will also watch files for changes - automatically running JSHint on changed JS files,
173229
automatically compiling changed SASS files, etc. You do need to refresh the web page after making any changes
@@ -179,6 +235,16 @@ have a compelling reason for it.
179235
* If you want to run the tests in a browser, run `grunt testserver` to start a local test server, then
180236
navigate to `http://localhost:9001`.
181237

238+
### Travis CI configuration.
239+
* [We cache](.travis.yml) Bower and npm dependencies to speed up builds. The caches can be accessed
240+
[on the web](https://travis-ci.org/cs-education/sysbuild/caches), which gives us a means to
241+
[delete the caches](http://docs.travis-ci.com/user/caching/#Clearing-Caches) in case they are spoiled
242+
by storing bad data in one of the cached directories.
243+
244+
* You can [validate the .travis.yml file](http://docs.travis-ci.com/user/travis-lint/) before committing it to reduce
245+
common build errors. Travis has a convenient [web-based tool](https://lint.travis-ci.org/) where you can paste the
246+
contents of .travis.yml for validation.
247+
182248
## License
183249
By contributing your code, you agree to license your contribution under the terms of the
184250
[project's license](LICENSE.md).

PEOPLE.md renamed to CREDITS.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ The project was initiated by Dr. Lawrence Angrave in 2014 and has been continuou
33
students and faculty at the [University of Illinois at Urbana-Champaign](http://illinois.edu/).
44

55
## Project Leaders
6-
Dr. Lawrence Angrave [![GitHub][github]](http://github.com/angrave)
6+
Dr. Lawrence Angrave [![GitHub][github]](https://github.com/angrave)
77
Neelabh Gupta [![GitHub][github]](https://github.com/neelabhg) [![Twitter][twitter]](https://twitter.com/neelabhg)
88

99
## University of Illinois Students and Researchers
@@ -29,7 +29,7 @@ Siddharth Seth [![GitHub][github]](https://github.com/siddharth-seth)
2929
See the list of GitHub contributors for the [sysbuild](https://github.com/cs-education/sysbuild/graphs/contributors)
3030
and [sysassets](https://github.com/cs-education/sysassets/graphs/contributors) repositories.
3131

32-
## Open source projects
32+
# Open source projects
3333
Amazing projects without which this project would not have been possible:
3434

3535
* The virtual machine embedded in the browser is forked from the [jor1k](https://github.com/s-macke/jor1k) project.

Gruntfile.js

Lines changed: 12 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,8 @@
66
// use this if you want to recursively match all subfolders:
77
// 'test/spec/**/*.js'
88

9+
var serveStatic = require('serve-static');
10+
911
module.exports = function (grunt) {
1012

1113
// Load grunt tasks automatically
@@ -108,9 +110,10 @@ module.exports = function (grunt) {
108110
options: {
109111
middleware: function (connect) {
110112
return [
111-
connect.static('.tmp'),
112-
connect().use('/bower_components', connect.static('./bower_components')),
113-
connect.static(config.app)
113+
serveStatic('.tmp'),
114+
connect().use('/bower_components', serveStatic('./bower_components')),
115+
serveStatic(config.app),
116+
connect().use('/LICENSE.md', serveStatic('./LICENSE.md'))
114117
];
115118
},
116119
livereload: false
@@ -122,10 +125,10 @@ module.exports = function (grunt) {
122125
port: 9001,
123126
middleware: function (connect) {
124127
return [
125-
connect.static('.tmp'),
126-
connect.static('test'),
127-
connect().use('/bower_components', connect.static('./bower_components')),
128-
connect.static(config.app)
128+
serveStatic('.tmp'),
129+
serveStatic('test'),
130+
connect().use('/bower_components', serveStatic('./bower_components')),
131+
serveStatic(config.app)
129132
];
130133
}
131134
}
@@ -250,7 +253,6 @@ module.exports = function (grunt) {
250253
'<%= config.dist %>/scripts/{,*/}*.js',
251254
'<%= config.dist %>/styles/{,*/}*.css',
252255
'<%= config.dist %>/images/{,*/}*.*',
253-
'<%= config.dist %>/styles/fonts/{,*/}*.*',
254256
'<%= config.dist %>/*.{ico,png}'
255257
]
256258
}
@@ -345,7 +347,7 @@ module.exports = function (grunt) {
345347
}, {
346348
expand: true,
347349
dot: true,
348-
cwd: 'bower_components/videojs/dist/video-js/font/',
350+
cwd: 'bower_components/videojs/dist/font/',
349351
src: ['*.*'],
350352
dest: '<%= config.dist %>/styles/font/'
351353
}, {
@@ -371,7 +373,7 @@ module.exports = function (grunt) {
371373
dot: true,
372374
cwd: 'bower_components/jquery-notific8/dist/fonts/',
373375
src: ['*.*'],
374-
dest: '<%= config.dist %>/styles/font/'
376+
dest: '<%= config.dist %>/styles/fonts/'
375377
}]
376378
},
377379
styles: {

LICENSE.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
Copyright (c) 2014-2015 Lawrence Angrave
1+
Copyright &copy; 2014-2015 Lawrence Angrave
22
Version 0.0.2
33
All Rights Reserved.
44

README.md

Lines changed: 6 additions & 59 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ This is the main repository for the browser-based system programming learning en
88
Also known as the Linux-in-a-browser project, this tool is used in the [CS 241 (System Programming)](https://courses.engr.illinois.edu/cs241/) course
99
at the University.
1010

11-
View the project running live [here](http://cs-education.github.io/sys/).
11+
View the project running live [here](https://cs-education.github.io/sys/).
1212

1313
## Bugs and feature requests
1414
Use the [issue tracker](https://github.com/cs-education/sysbuild/issues) to submit bug reports and feature requests.
@@ -34,70 +34,17 @@ Please see the [issue guidelines](CONTRIBUTING.md#using-the-issue-tracker) for h
3434
or other concerns.
3535

3636
## Contributing
37-
Please read through our [contributing guidelines](CONTRIBUTING.md). Included are directions for opening issues, setting
38-
up your development environment, opening pull requests, coding standards, and notes on development.
39-
40-
If you would like to work on this project, here is more information on what you need to know to get started.
41-
42-
### Project organization
43-
This is the main repository for the project. Other repositories which are part of the project are:
44-
45-
* [cs-education/jor1k](https://github.com/cs-education/jor1k) - The virtual machine embedded into the browser
46-
47-
* [cs-education/sysassets](https://github.com/cs-education/sysassets) - Pre-compiled assets used in the project, such
48-
as lecture videos, lessons, man pages, and the jor1k filesystem
49-
50-
We use [GitHub Pages](https://help.github.com/articles/what-are-github-pages) for hosting the application. The
51-
repositories used for deployment are separate from this repository, to keep this repository small. You probably won't
52-
be committing changes directly to these repositories, but instead use automated deployment scripts (see
53-
[Deploying](#deploying) below). The following repositories are used for deployment:
54-
55-
* [cs-education/sys-staging](https://github.com/cs-education/sys-staging) - Staging deployment for the project, used
56-
for testing before deploying to production
57-
58-
* [cs-education/sys](https://github.com/cs-education/sys) - Production deployment for the project
59-
60-
### Structure of this repository
61-
```
62-
sysbuild/
63-
├── app/ Application source code
64-
│ ├── images/ Images/pictures
65-
│ ├── jor1k/ The jor1k project source copied by grunt during setup
66-
│ ├── scripts/ Javascript files
67-
│ └── styles/ SASS and CSS files
68-
├── dist/ The distributable application output by the build process
69-
├── bower_components/ Dependencies installed by Bower
70-
├── node_modules/ Dependencies installed by npm
71-
├── sys-gh-pages-config/ Config for the application deployed on production
72-
└── test/ Tests
73-
└── spec/
74-
```
75-
76-
This project was scaffolded using the [Yeoman webapp generator](https://github.com/yeoman/generator-webapp).
77-
78-
### Deploying
79-
**NOTE**: You will need push access to the appropriate repository before you can deploy to an official URL. If you want
80-
to deploy to your own repository or server, only perform the first (build) step and upload the contents of `dist/`
81-
to your repository's `gh-pages` branch or to the web folder on your server.
82-
83-
1. Build the distributable project (output in the `dist/` folder):
84-
`grunt build`
85-
86-
2. Deploy to [staging](http://cs-education.github.io/sys-staging/):
87-
`grunt deploy:staging`
88-
89-
3. Test out the application in staging and ensure things work as expected. Once things look good, please announce in
90-
the chat room that you are going to deploy to production.
91-
92-
4. Deploy to [production](http://cs-education.github.io/sys/):
93-
`grunt deploy:prod`
37+
Please read through our [contributing guidelines](CONTRIBUTING.md). Included are guidelines for opening issues,
38+
information about the organization of the project as well as this repository, directions for setting up your
39+
development environment, opening pull requests, coding standards, notes on development, and directions for
40+
deploying the application.
9441

9542
### Further documentation
9643
See the [Wiki](https://github.com/cs-education/sysbuild/wiki) for information about the technology stack used,
9744
project road maps, learning resources, and other information.
9845

9946
## Credits
100-
See [PEOPLE.md](PEOPLE.md).
47+
See [CREDITS.md](CREDITS.md).
10148

10249
## License
10350
See [LICENSE.md](LICENSE.md) for copyright, license, attribution and other legal information.

0 commit comments

Comments
 (0)