working on readme
This commit is contained in:
parent
42941b24cc
commit
7c53bb3a98
22
Makefile
22
Makefile
@ -105,9 +105,10 @@ dist: build
|
|||||||
source:
|
source:
|
||||||
rm -rf $(source_build_directory)
|
rm -rf $(source_build_directory)
|
||||||
mkdir -p $(source_build_directory)
|
mkdir -p $(source_build_directory)
|
||||||
tar --exclude-vcs \
|
tar
|
||||||
|
--exclude-vcs \
|
||||||
--exclude="../$(app_name)/build" \
|
--exclude="../$(app_name)/build" \
|
||||||
--exclude="../$(app_name)/js/node_modules" \
|
--exclude="../$(app_name)/node_modules" \
|
||||||
--exclude="../$(app_name)/node_modules" \
|
--exclude="../$(app_name)/node_modules" \
|
||||||
--exclude="../$(app_name)/*.log" \
|
--exclude="../$(app_name)/*.log" \
|
||||||
--exclude="../$(app_name)/js/*.log" \
|
--exclude="../$(app_name)/js/*.log" \
|
||||||
@ -118,14 +119,15 @@ source:
|
|||||||
appstore:
|
appstore:
|
||||||
rm -rf $(appstore_build_directory)
|
rm -rf $(appstore_build_directory)
|
||||||
mkdir -p $(appstore_build_directory)
|
mkdir -p $(appstore_build_directory)
|
||||||
tar --exclude-vcs \
|
tar
|
||||||
|
--exclude-vcs \
|
||||||
--exclude="../$(app_name)/build" \
|
--exclude="../$(app_name)/build" \
|
||||||
--exclude="../$(app_name)/tests" \
|
--exclude="../$(app_name)/tests" \
|
||||||
--exclude="../$(app_name)/Makefile" \
|
--exclude="../$(app_name)/Makefile" \
|
||||||
--exclude="../$(app_name)/*.log" \
|
--exclude="../$(app_name)/*.log" \
|
||||||
--exclude="../$(app_name)/phpunit*xml" \
|
--exclude="../$(app_name)/phpunit*xml" \
|
||||||
--exclude="../$(app_name)/composer.*" \
|
--exclude="../$(app_name)/composer.*" \
|
||||||
--exclude="../$(app_name)/js/node_modules" \
|
--exclude="../$(app_name)/node_modules" \
|
||||||
--exclude="../$(app_name)/js/tests" \
|
--exclude="../$(app_name)/js/tests" \
|
||||||
--exclude="../$(app_name)/js/test" \
|
--exclude="../$(app_name)/js/test" \
|
||||||
--exclude="../$(app_name)/js/*.log" \
|
--exclude="../$(app_name)/js/*.log" \
|
||||||
@ -133,10 +135,20 @@ appstore:
|
|||||||
--exclude="../$(app_name)/js/bower.json" \
|
--exclude="../$(app_name)/js/bower.json" \
|
||||||
--exclude="../$(app_name)/js/karma.*" \
|
--exclude="../$(app_name)/js/karma.*" \
|
||||||
--exclude="../$(app_name)/js/protractor.*" \
|
--exclude="../$(app_name)/js/protractor.*" \
|
||||||
--exclude="../$(app_name)/package.json" \
|
--exclude="../$(app_name)/package*.json" \
|
||||||
--exclude="../$(app_name)/bower.json" \
|
--exclude="../$(app_name)/bower.json" \
|
||||||
--exclude="../$(app_name)/karma.*" \
|
--exclude="../$(app_name)/karma.*" \
|
||||||
--exclude="../$(app_name)/protractor\.*" \
|
--exclude="../$(app_name)/protractor\.*" \
|
||||||
--exclude="../$(app_name)/.*" \
|
--exclude="../$(app_name)/.*" \
|
||||||
--exclude="../$(app_name)/js/.*" \
|
--exclude="../$(app_name)/js/.*" \
|
||||||
|
--exclude="../$(app_name)/src" \
|
||||||
|
--exclude="../$(app_name)/stubs" \
|
||||||
|
--exclude="../$(app_name)/vendor" \
|
||||||
-cvzf $(appstore_package_name).tar.gz ../$(app_name)
|
-cvzf $(appstore_package_name).tar.gz ../$(app_name)
|
||||||
|
|
||||||
|
# Start a nextcloud server on Docker to kickstart developement
|
||||||
|
.PHONY: appstore
|
||||||
|
dev: build
|
||||||
|
docker build -t repod .
|
||||||
|
docker run -itd -v $(CURDIR):/var/www/html/apps/repod -p 80:80 repod
|
||||||
|
npm run watch
|
||||||
|
52
README.md
52
README.md
@ -1,52 +1,2 @@
|
|||||||
# Re Pod
|
# RePod Nextcloud App
|
||||||
Place this app in **nextcloud/apps/**
|
|
||||||
|
|
||||||
## Building the app
|
|
||||||
|
|
||||||
The app can be built by using the provided Makefile by running:
|
|
||||||
|
|
||||||
make
|
|
||||||
|
|
||||||
This requires the following things to be present:
|
|
||||||
* make
|
|
||||||
* which
|
|
||||||
* tar: for building the archive
|
|
||||||
* curl: used if phpunit and composer are not installed to fetch them from the web
|
|
||||||
* npm: for building and testing everything JS, only required if a package.json is placed inside the **js/** folder
|
|
||||||
|
|
||||||
The make command will install or update Composer dependencies if a composer.json is present and also **npm run build** if a package.json is present in the **js/** folder. The npm **build** script should use local paths for build systems and package managers, so people that simply want to build the app won't need to install npm libraries globally, e.g.:
|
|
||||||
|
|
||||||
**package.json**:
|
|
||||||
```json
|
|
||||||
"scripts": {
|
|
||||||
"test": "node node_modules/gulp-cli/bin/gulp.js karma",
|
|
||||||
"prebuild": "npm install && node_modules/bower/bin/bower install && node_modules/bower/bin/bower update",
|
|
||||||
"build": "node node_modules/gulp-cli/bin/gulp.js"
|
|
||||||
}
|
|
||||||
```
|
|
||||||
|
|
||||||
|
|
||||||
## Publish to App Store
|
|
||||||
|
|
||||||
First get an account for the [App Store](http://apps.nextcloud.com/) then run:
|
|
||||||
|
|
||||||
make && make appstore
|
|
||||||
|
|
||||||
The archive is located in build/artifacts/appstore and can then be uploaded to the App Store.
|
|
||||||
|
|
||||||
## Running tests
|
|
||||||
You can use the provided Makefile to run all tests by using:
|
|
||||||
|
|
||||||
make test
|
|
||||||
|
|
||||||
This will run the PHP unit and integration tests and if a package.json is present in the **js/** folder will execute **npm run test**
|
|
||||||
|
|
||||||
Of course you can also install [PHPUnit](http://phpunit.de/getting-started.html) and use the configurations directly:
|
|
||||||
|
|
||||||
phpunit -c phpunit.xml
|
|
||||||
|
|
||||||
or:
|
|
||||||
|
|
||||||
phpunit -c phpunit.integration.xml
|
|
||||||
|
|
||||||
for integration tests
|
|
||||||
|
@ -7,12 +7,11 @@
|
|||||||
<description><![CDATA[# Features
|
<description><![CDATA[# Features
|
||||||
- 🔍 Browse and subscribe huge collection of podcasts
|
- 🔍 Browse and subscribe huge collection of podcasts
|
||||||
- 🔊 Listen to episodes directly in Nextcloud
|
- 🔊 Listen to episodes directly in Nextcloud
|
||||||
- ⭐ Support episode chapters
|
- 🌐 Sync your activity with [AntennaPod](https://antennapod.org/)
|
||||||
- 👂 Smoth audio playback and transitions
|
|
||||||
|
|
||||||
# Requirements
|
# Requirements
|
||||||
You need to have [GPodderSync](You need to have GPodderSync installed to use this app!) installed to use this app!]]></description>
|
You need to have [GPodderSync](https://apps.nextcloud.com/apps/gpoddersync) installed to use this app!]]></description>
|
||||||
<version>0.0.1</version>
|
<version>1.0.0</version>
|
||||||
<licence>agpl</licence>
|
<licence>agpl</licence>
|
||||||
<author mail="xefir@crystalyx.net" homepage="https://git.crystalyx.net/Xefir/RePod">Xéfir Destiny</author>
|
<author mail="xefir@crystalyx.net" homepage="https://git.crystalyx.net/Xefir/RePod">Xéfir Destiny</author>
|
||||||
<namespace>RePod</namespace>
|
<namespace>RePod</namespace>
|
||||||
|
50
package-lock.json
generated
50
package-lock.json
generated
@ -1,12 +1,12 @@
|
|||||||
{
|
{
|
||||||
"name": "repod",
|
"name": "repod",
|
||||||
"version": "0.0.1",
|
"version": "1.0.0",
|
||||||
"lockfileVersion": 3,
|
"lockfileVersion": 3,
|
||||||
"requires": true,
|
"requires": true,
|
||||||
"packages": {
|
"packages": {
|
||||||
"": {
|
"": {
|
||||||
"name": "repod",
|
"name": "repod",
|
||||||
"version": "0.0.1",
|
"version": "1.0.0",
|
||||||
"license": "agpl",
|
"license": "agpl",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@nextcloud/axios": "^2.4.0",
|
"@nextcloud/axios": "^2.4.0",
|
||||||
@ -83,11 +83,11 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/@babel/code-frame": {
|
"node_modules/@babel/code-frame": {
|
||||||
"version": "7.22.10",
|
"version": "7.22.13",
|
||||||
"resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.22.10.tgz",
|
"resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.22.13.tgz",
|
||||||
"integrity": "sha512-/KKIMG4UEL35WmI9OlvMhurwtytjvXoFcGNrOvyG9zIzA8YmPjVtIZUf7b05+TPO7G7/GEmLHDaoCgACHl9hhA==",
|
"integrity": "sha512-XktuhWlJ5g+3TJXc5upd9Ks1HutSArik6jf2eAjYFyIOf4ej3RN+184cZbzDvbPnuTJIUhPKKJE3cIsYTiAT3w==",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@babel/highlight": "^7.22.10",
|
"@babel/highlight": "^7.22.13",
|
||||||
"chalk": "^2.4.2"
|
"chalk": "^2.4.2"
|
||||||
},
|
},
|
||||||
"engines": {
|
"engines": {
|
||||||
@ -460,9 +460,9 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/@babel/highlight": {
|
"node_modules/@babel/highlight": {
|
||||||
"version": "7.22.10",
|
"version": "7.22.13",
|
||||||
"resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.22.10.tgz",
|
"resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.22.13.tgz",
|
||||||
"integrity": "sha512-78aUtVcT7MUscr0K5mIEnkwxPE0MaxkR5RxRwuHaQ+JuU5AmTPhY+do2mdzVTnIJJpyBglql2pehuBIWHug+WQ==",
|
"integrity": "sha512-C/BaXcnnvBCmHTpz/VGZ8jgtE2aYlW4hxDhseJAWZb7gqGM/qtCK6iZUb0TyKFf7BOUsBH7Q7fkRsDRhg1XklQ==",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@babel/helper-validator-identifier": "^7.22.5",
|
"@babel/helper-validator-identifier": "^7.22.5",
|
||||||
"chalk": "^2.4.2",
|
"chalk": "^2.4.2",
|
||||||
@ -473,9 +473,9 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/@babel/parser": {
|
"node_modules/@babel/parser": {
|
||||||
"version": "7.22.11",
|
"version": "7.22.13",
|
||||||
"resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.22.11.tgz",
|
"resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.22.13.tgz",
|
||||||
"integrity": "sha512-R5zb8eJIBPJriQtbH/htEQy4k7E2dHWlD2Y2VT07JCzwYZHBxV5ZYtM0UhXSNMT74LyxuM+b1jdL7pSesXbC/g==",
|
"integrity": "sha512-3l6+4YOvc9wx7VlCSw4yQfcBo01ECA8TicQfbnCPuCEpRQrf+gTUyGdxNw+pyTUyywp6JRD1w0YQs9TpBXYlkw==",
|
||||||
"bin": {
|
"bin": {
|
||||||
"parser": "bin/babel-parser.js"
|
"parser": "bin/babel-parser.js"
|
||||||
},
|
},
|
||||||
@ -6769,9 +6769,9 @@
|
|||||||
"peer": true
|
"peer": true
|
||||||
},
|
},
|
||||||
"node_modules/electron-to-chromium": {
|
"node_modules/electron-to-chromium": {
|
||||||
"version": "1.4.503",
|
"version": "1.4.504",
|
||||||
"resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.503.tgz",
|
"resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.504.tgz",
|
||||||
"integrity": "sha512-LF2IQit4B0VrUHFeQkWhZm97KuJSGF2WJqq1InpY+ECpFRkXd8yTIaTtJxsO0OKDmiBYwWqcrNaXOurn2T2wiA=="
|
"integrity": "sha512-cSMwIAd8yUh54VwitVRVvHK66QqHWE39C3DRj8SWiXitEpVSY3wNPD9y1pxQtLIi4w3UdzF9klLsmuPshz09DQ=="
|
||||||
},
|
},
|
||||||
"node_modules/elliptic": {
|
"node_modules/elliptic": {
|
||||||
"version": "6.5.4",
|
"version": "6.5.4",
|
||||||
@ -8376,16 +8376,16 @@
|
|||||||
"integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A=="
|
"integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A=="
|
||||||
},
|
},
|
||||||
"node_modules/function.prototype.name": {
|
"node_modules/function.prototype.name": {
|
||||||
"version": "1.1.5",
|
"version": "1.1.6",
|
||||||
"resolved": "https://registry.npmjs.org/function.prototype.name/-/function.prototype.name-1.1.5.tgz",
|
"resolved": "https://registry.npmjs.org/function.prototype.name/-/function.prototype.name-1.1.6.tgz",
|
||||||
"integrity": "sha512-uN7m/BzVKQnCUF/iW8jYea67v++2u7m5UgENbHRtdDVclOUP+FMPlCNdmk0h/ysGyo2tavMJEDqJAkJdRa1vMA==",
|
"integrity": "sha512-Z5kx79swU5P27WEayXM1tBi5Ze/lbIyiNgU3qyXUOf9b2rgXYyF9Dy9Cx+IQv/Lc8WCG6L82zwUPpSS9hGehIg==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"peer": true,
|
"peer": true,
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"call-bind": "^1.0.2",
|
"call-bind": "^1.0.2",
|
||||||
"define-properties": "^1.1.3",
|
"define-properties": "^1.2.0",
|
||||||
"es-abstract": "^1.19.0",
|
"es-abstract": "^1.22.1",
|
||||||
"functions-have-names": "^1.2.2"
|
"functions-have-names": "^1.2.3"
|
||||||
},
|
},
|
||||||
"engines": {
|
"engines": {
|
||||||
"node": ">= 0.4"
|
"node": ">= 0.4"
|
||||||
@ -12825,15 +12825,15 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/object.groupby": {
|
"node_modules/object.groupby": {
|
||||||
"version": "1.0.0",
|
"version": "1.0.1",
|
||||||
"resolved": "https://registry.npmjs.org/object.groupby/-/object.groupby-1.0.0.tgz",
|
"resolved": "https://registry.npmjs.org/object.groupby/-/object.groupby-1.0.1.tgz",
|
||||||
"integrity": "sha512-70MWG6NfRH9GnbZOikuhPPYzpUpof9iW2J9E4dW7FXTqPNb6rllE6u39SKwwiNh8lCwX3DDb5OgcKGiEBrTTyw==",
|
"integrity": "sha512-HqaQtqLnp/8Bn4GL16cj+CUYbnpe1bh0TtEaWvybszDG4tgxCJuRpV8VGuvNaI1fAnI4lUJzDG55MXcOH4JZcQ==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"peer": true,
|
"peer": true,
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"call-bind": "^1.0.2",
|
"call-bind": "^1.0.2",
|
||||||
"define-properties": "^1.2.0",
|
"define-properties": "^1.2.0",
|
||||||
"es-abstract": "^1.21.2",
|
"es-abstract": "^1.22.1",
|
||||||
"get-intrinsic": "^1.2.1"
|
"get-intrinsic": "^1.2.1"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
{
|
{
|
||||||
"name": "repod",
|
"name": "repod",
|
||||||
"description": "🔊 Browse, manage and listen to podcasts",
|
"description": "🔊 Browse, manage and listen to podcasts",
|
||||||
"version": "0.0.1",
|
"version": "1.0.0",
|
||||||
"bugs": {
|
"bugs": {
|
||||||
"url": "https://git.crystalyx.net/Xefir/RePod/issues"
|
"url": "https://git.crystalyx.net/Xefir/RePod/issues"
|
||||||
},
|
},
|
||||||
|
Loading…
Reference in New Issue
Block a user