Skip to content

Commit 236f9aa

Browse files
committed
Configured for GitHub Releases and Travis CI.
1 parent b0a0b10 commit 236f9aa

File tree

8 files changed

+132
-749
lines changed

8 files changed

+132
-749
lines changed

.gitignore

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
.DS_Store
2+
node_modules/
3+
build/

.travis.yml

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
language: node_js
2+
node_js:
3+
- '0.10'
4+
before_install:
5+
- npm install coffee-script
6+
before_script:
7+
- ./node_modules/.bin/cake archive
8+
script:
9+
- ./node_modules/.bin/cake test
10+
deploy:
11+
provider: releases
12+
api_key:
13+
secure: CYKPnIwHxOyk/qFAA7MFi0NBmUWcZdHqOUzyyRAhX4MqMwJTIxWDSGfNXV5kvnV31ZCIwCDYhePs2Qq9+qB6OtESRHQIPgys6+1ADmesMH57as6krQT1iioF0Kpm7+1kjejkilPTtLQqe3S/sXjp9wRAvstL7aV2asQ0PFoN1fI=
14+
file: build/JavaScriptjQueryCodeGenerator.zip
15+
skip_cleanup: true
16+
on:
17+
tags: true
18+
all_branches: true
19+
repo: LuckyMarmot/Paw-JavaScriptjQueryCodeGenerator

Cakefile

Lines changed: 87 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,19 +1,99 @@
1-
{print} = require 'sys'
21
{spawn} = require 'child_process'
2+
{ncp} = require 'ncp'
3+
mkdirp = require 'mkdirp'
4+
fs = require 'fs'
35

46
file = 'JavaScriptjQueryCodeGenerator.coffee'
7+
identifier = 'com.luckymarmot.PawExtensions.JavaScriptjQueryCodeGenerator'
58

6-
task 'build', ->
7-
coffee = spawn 'coffee', ['-c', file]
9+
extensions_dir = "#{ process.env.HOME }/Library/Containers/com.luckymarmot.Paw/Data/Library/Application Support/com.luckymarmot.Paw/Extensions/"
10+
build_root_dir = "build"
11+
build_dir = "#{ build_root_dir }/#{ identifier }"
12+
13+
# compile CoffeeScript
14+
build_coffee = (callback) ->
15+
coffee = spawn 'coffee', ['-c', '-o', build_dir, file]
816
coffee.stderr.on 'data', (data) ->
917
process.stderr.write data.toString()
1018
coffee.stdout.on 'data', (data) ->
11-
print data.toString()
19+
process.stdout.write data.toString()
1220
coffee.on 'exit', (code) ->
1321
if code is 0
14-
console.log '>>> Build successful'
22+
callback?()
23+
else
24+
console.error "Build failed with error: #{ code }"
25+
26+
# copy files to build directory
27+
build_copy = () ->
28+
fs.writeFileSync "#{ build_dir }/README.md", fs.readFileSync("./README.md")
29+
fs.writeFileSync "#{ build_dir }/LICENSE", fs.readFileSync("./LICENSE")
30+
fs.writeFileSync "#{ build_dir }/javascript.mustache", fs.readFileSync("./javascript.mustache")
31+
fs.writeFileSync "#{ build_dir }/mustache.js", fs.readFileSync("./node_modules/mustache/mustache.js")
32+
fs.writeFileSync "#{ build_dir }/URI.js", fs.readFileSync("./lib/URI.js")
33+
34+
# build: build CoffeeScript and copy files to build directory
35+
build = (callback) ->
36+
# mkdir build dir
37+
mkdirp build_dir, (err) ->
38+
if err
39+
console.error err
1540
else
16-
console.log '!!! Build failed'
41+
build_coffee () ->
42+
build_copy()
43+
callback?()
44+
45+
# install: copy files to Extensions directory
46+
install = (callback) ->
47+
ncp build_dir, "#{ extensions_dir }/#{ identifier }", (err) ->
48+
if err
49+
console.error err
50+
else
51+
callback?()
52+
53+
# archive: create a zip archive from the build
54+
archive = (callback) ->
55+
zip_file = "#{ identifier.split('.').pop() }.zip"
56+
57+
# go to build dir
58+
process.chdir "#{ build_root_dir }/"
59+
60+
# delete any previous zip
61+
if fs.existsSync zip_file
62+
fs.unlinkSync zip_file
63+
64+
# zip
65+
zip = spawn 'zip', ["-r", zip_file, "#{ identifier }/"]
66+
zip.stderr.on 'data', (data) ->
67+
process.stderr.write data.toString()
68+
zip.stdout.on 'data', (data) ->
69+
process.stdout.write data.toString()
70+
zip.on 'exit', (code) ->
71+
if code is 0
72+
callback?()
73+
else
74+
console.error "zip returned with error code: #{ code }"
75+
76+
task 'build', ->
77+
build()
78+
79+
task 'test', ->
80+
build () ->
81+
# no test to run
82+
83+
task 'install', ->
84+
build () ->
85+
install()
86+
87+
task 'archive', ->
88+
build () ->
89+
archive()
1790

1891
task 'watch', ->
19-
spawn 'coffee', ['--watch', '--compile', file]
92+
# find all files in directory
93+
for filename in fs.readdirSync '.'
94+
# only watch non-hidden files
95+
if not filename.match(/^\./) and fs.lstatSync("./#{ filename }").isFile()
96+
fs.watchFile "./#{ filename }", {persistent:true, interval:500}, (_event, _filename) ->
97+
# when a file is changed, build and install
98+
build () ->
99+
install()

JavaScriptjQueryCodeGenerator.js

Lines changed: 0 additions & 164 deletions
This file was deleted.

README.md

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
1+
[![Build Status](https://travis-ci.org/LuckyMarmot/Paw-JavaScriptjQueryCodeGenerator.svg?branch=master)](https://travis-ci.org/LuckyMarmot/Paw-JavaScriptjQueryCodeGenerator)
2+
13
#JavaScript jQuery Code Generator (Paw Extension)
24

35
This a Paw Extension that generates code for JavaScript AJAX requests with jQuery.
@@ -8,6 +10,11 @@ This Paw Extension is released under the [MIT License](LICENSE). Feel free to fo
810

911
Copyright © 2014 Paw Inc.
1012

13+
##Contributors
14+
15+
See [Contributors](https://github.com/LuckyMarmot/Paw-JavaScriptjQueryCodeGenerator/graphs/contributors).
16+
1117
##Credits
1218

1319
* [Mustache.js](https://github.com/janl/mustache.js/), also released under the MIT License
20+
* [URI.js](http://medialize.github.io/URI.js/), also released under the MIT License

URI.js renamed to lib/URI.js

File renamed without changes.

0 commit comments

Comments
 (0)