Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/nextcloud/twofactor_totp.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChristoph Wurst <christoph@winzerhof-wurst.at>2016-06-09 19:14:34 +0300
committerChristoph Wurst <christoph@winzerhof-wurst.at>2016-06-09 19:14:34 +0300
commitd423e557c7aa71f3580dd8be4af87c74c5f021f3 (patch)
tree73150727ac4f604086db2d23196ca1eefa8c78e7
parent3318204007ac02f2aafd72132911319ff6f75cd6 (diff)
adjust Makefile for code signingv0.30.3
-rw-r--r--.gitignore1
-rw-r--r--CHANGELOG.md13
-rw-r--r--Makefile213
3 files changed, 51 insertions, 176 deletions
diff --git a/.gitignore b/.gitignore
index 11143e5..ae5204c 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,5 +1,6 @@
composer.phar
+build/
vendor/
# Ignore NetBeans project
diff --git a/CHANGELOG.md b/CHANGELOG.md
index fbd6fba..85b2cd9 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,6 +1,7 @@
-owncloud-twofactor_totp (0.0.1)
-* **Security**: Security description here
-* **Backwards incompatible change**: Changes in the API
-* **New dependency**: New dependencies such as a new ownCloud or PHP version
-* **Bugfix**: Bugfix description
-* **Enhancement**: New feature description \ No newline at end of file
+# Changelog
+All notable changes to this project will be documented in this file.
+
+## 0.3.0 – 2016-06-09
+
+### Added
+- App is now signed \ No newline at end of file
diff --git a/Makefile b/Makefile
index 25892ed..1a484f7 100644
--- a/Makefile
+++ b/Makefile
@@ -1,177 +1,50 @@
-# This file is licensed under the Affero General Public License version 3 or
-# later. See the COPYING file.
-# @author Bernhard Posselt <dev@bernhard-posselt.com>
-# @copyright Bernhard Posselt 2012, 2014
+# Makefile for building the project
-# Generic Makefile for building and packaging an ownCloud app which uses npm and
-# Composer.
-#
-# Dependencies:
-# * make
-# * which
-# * curl: used if phpunit and composer are not installed to fetch them from the web
-# * tar: for building the archive
-# * npm: for building and testing everything JS
-#
-# If no composer.json is in the app root directory, the Composer step
-# will be skipped. The same goes for the package.json which can be located in
-# the app root or the js/ directory.
-#
-# The npm command by launches the npm build script:
-#
-# npm run build
-#
-# The npm test command launches the npm test script:
-#
-# npm run test
-#
-# The idea behind this is to be completely testing and build tool agnostic. All
-# build tools and additional package managers should be installed locally in
-# your project, since this won't pollute people's global namespace.
-#
-# The following npm scripts in your package.json install and update the bower
-# and npm dependencies and use gulp as build system (notice how everything is
-# run from the node_modules folder):
-#
-# "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"
-# },
+app_name=twofactor_totp
+project_dir=$(CURDIR)/../$(app_name)
+build_dir=$(CURDIR)/build/artifacts
+sign_dir=$(build_dir)/sign
+appstore_dir=$(build_dir)/appstore
+source_dir=$(build_dir)/source
+package_name=$(app_name)
-app_name=$(notdir $(CURDIR))
-build_tools_directory=$(CURDIR)/build/tools
-source_build_directory=$(CURDIR)/build/artifacts/source
-source_package_name=$(source_build_directory)/$(app_name)
-appstore_build_directory=$(CURDIR)/build/artifacts/appstore
-appstore_package_name=$(appstore_build_directory)/$(app_name)
-npm=$(shell which npm 2> /dev/null)
-composer=$(shell which composer 2> /dev/null)
+all: appstore
-all: build
-
-# Fetches the PHP and JS dependencies and compiles the JS. If no composer.json
-# is present, the composer step is skipped, if no package.json or js/package.json
-# is present, the npm step is skipped
-.PHONY: build
-build:
-ifneq (,$(wildcard $(CURDIR)/composer.json))
- make composer
-endif
-ifneq (,$(wildcard $(CURDIR)/package.json))
- make npm
-endif
-ifneq (,$(wildcard $(CURDIR)/js/package.json))
- make npm
-endif
-
-# Installs and updates the composer dependencies. If composer is not installed
-# a copy is fetched from the web
-.PHONY: composer
-composer:
-ifeq (, $(composer))
- @echo "No composer command available, downloading a copy from the web"
- mkdir -p $(build_tools_directory)
- curl -sS https://getcomposer.org/installer | php
- mv composer.phar $(build_tools_directory)
- php $(build_tools_directory)/composer.phar install --prefer-dist
- php $(build_tools_directory)/composer.phar update --prefer-dist
-else
- composer install --prefer-dist
- composer update --prefer-dist
-endif
-
-# Installs npm dependencies
-.PHONY: npm
-npm:
-ifeq (,$(wildcard $(CURDIR)/package.json))
- cd js && $(npm) run build
-else
- npm run build
-endif
-
-# Removes the appstore build
-.PHONY: clean
clean:
- rm -rf ./build
-
-# Same as clean but also removes dependencies installed by composer, bower and
-# npm
-.PHONY: distclean
-distclean: clean
+ rm -rf $(build_dir)
rm -rf vendor
- rm -rf node_modules
- rm -rf js/vendor
- rm -rf js/node_modules
-
-# Builds the source and appstore package
-.PHONY: dist
-dist:
- make source
- make appstore
-# Builds the source package
-.PHONY: source
-source:
- make build
- make test
- rm -rf $(source_build_directory)
- mkdir -p $(source_build_directory)
- tar cvzf $(source_package_name).tar.gz ../$(app_name) \
- --exclude-vcs \
- --exclude="../$(app_name)/build" \
- --exclude="../$(app_name)/js/node_modules" \
- --exclude="../$(app_name)/*.log" \
- --exclude="../$(app_name)/js/*.log" \
-
-# Builds the source package for the app store, ignores php and js tests
-.PHONY: appstore
-appstore:
- make build
- make test
- rm -rf $(appstore_build_directory)
- mkdir -p $(appstore_build_directory)
- tar cvzf $(appstore_package_name).tar.gz ../$(app_name) \
- --exclude-vcs \
- --exclude="../$(app_name)/build" \
- --exclude="../$(app_name)/tests" \
- --exclude="../$(app_name)/Makefile" \
- --exclude="../$(app_name)/*.log" \
- --exclude="../$(app_name)/phpunit*xml" \
- --exclude="../$(app_name)/composer.*" \
- --exclude="../$(app_name)/js/node_modules" \
- --exclude="../$(app_name)/js/tests" \
- --exclude="../$(app_name)/js/test" \
- --exclude="../$(app_name)/js/*.log" \
- --exclude="../$(app_name)/js/package.json" \
- --exclude="../$(app_name)/js/bower.json" \
- --exclude="../$(app_name)/js/karma.*" \
- --exclude="../$(app_name)/js/protractor.*" \
- --exclude="../$(app_name)/package.json" \
- --exclude="../$(app_name)/bower.json" \
- --exclude="../$(app_name)/karma.*" \
- --exclude="../$(app_name)/protractor\.*" \
- --exclude="../$(app_name)/.*" \
- --exclude="../$(app_name)/js/.*" \
+composer.phar:
+ curl -sS https://getcomposer.org/installer | php
-# Command for running JS and PHP tests. Works for package.json files in the js/
-# and root directory. If phpunit is not installed systemwide, a copy is fetched
-# from the internet
-.PHONY: test
-test:
-ifneq (,$(wildcard $(CURDIR)/js/package.json))
- cd js && $(npm) run test
-endif
-ifneq (,$(wildcard $(CURDIR)/package.json))
- $(npm) run test
-endif
-ifeq (, $(shell which phpunit 2> /dev/null))
- @echo "No phpunit command available, downloading a copy from the web"
- mkdir -p $(build_tools_directory)
- curl -sSL https://phar.phpunit.de/phpunit.phar -o $(build_tools_directory)/phpunit.phar
- php $(build_tools_directory)/phpunit.phar -c phpunit.xml
- php $(build_tools_directory)/phpunit.phar -c phpunit.integration.xml
-else
- phpunit -c phpunit.xml
- phpunit -c phpunit.integration.xml
-endif \ No newline at end of file
+install-deps: install-composer-deps
+
+install-composer-deps: composer.phar
+ php composer.phar install
+
+update-composer: composer.phar
+ rm -f composer.lock
+ php composer.phar install --prefer-dist
+
+appstore: clean install-deps
+ make clean
+ make install-composer-deps
+ mkdir -p $(sign_dir)
+ rsync -av \
+ --exclude=.git \
+ --exclude=build \
+ --exclude=.gitignore \
+ --exclude=.travis.yml \
+ --exclude=.scrutinizer.yml \
+ --exclude=CONTRIBUTING.md \
+ --exclude=composer.json \
+ --exclude=composer.lock \
+ --exclude=composer.phar \
+ --exclude=l10n/.tx \
+ --exclude=l10n/no-php \
+ --exclude=Makefile \
+ --exclude=nbproject \
+ --exclude=phpunit*xml \
+ --exclude=tests \
+ --exclude=vendor/bin \
+ $(project_dir) $(sign_dir) \ No newline at end of file