mirror of
				https://github.com/paperless-ngx/paperless-ngx.git
				synced 2025-10-30 03:56:23 -05:00 
			
		
		
		
	added a handy script to make a release package.
This commit is contained in:
		
							
								
								
									
										89
									
								
								scripts/make-release.sh
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										89
									
								
								scripts/make-release.sh
									
									
									
									
									
										Executable file
									
								
							| @@ -0,0 +1,89 @@ | ||||
| #!/bin/bash | ||||
|  | ||||
| set -e | ||||
|  | ||||
| # source root directory of paperless | ||||
| PAPERLESS_ROOT=$(git rev-parse --show-toplevel) | ||||
|  | ||||
| # output directory | ||||
| PAPERLESS_DIST="$PAPERLESS_ROOT/dist" | ||||
| PAPERLESS_DIST_APP="$PAPERLESS_DIST/paperless-ng" | ||||
|  | ||||
| if [ -d "$PAPERLESS_DIST" ] | ||||
| then | ||||
| 	echo "Removing $PAPERLESS_DIST" | ||||
| 	rm "$PAPERLESS_DIST" -r | ||||
| fi | ||||
|  | ||||
| # setup dependencies. | ||||
|  | ||||
| cd "$PAPERLESS_ROOT" | ||||
|  | ||||
| pipenv clean | ||||
| pipenv install --dev | ||||
|  | ||||
| # test if the application works. | ||||
|  | ||||
| cd "$PAPERLESS_ROOT/src" | ||||
| pipenv run pytest --cov | ||||
| pipenv run pycodestyle | ||||
|  | ||||
| # make the documentation. | ||||
|  | ||||
| cd "$PAPERLESS_ROOT/docs" | ||||
| make clean html | ||||
|  | ||||
| # copy stuff into place | ||||
|  | ||||
| mkdir "$PAPERLESS_DIST" | ||||
| mkdir "$PAPERLESS_DIST_APP" | ||||
| mkdir "$PAPERLESS_DIST_APP/docker" | ||||
|  | ||||
| # the application itself | ||||
|  | ||||
| cp "$PAPERLESS_ROOT/.env" \ | ||||
| 	"$PAPERLESS_ROOT/CONTRIBUTING.md" \ | ||||
| 	"$PAPERLESS_ROOT/LICENSE" \ | ||||
| 	"$PAPERLESS_ROOT/Pipfile" \ | ||||
| 	"$PAPERLESS_ROOT/Pipfile.lock" \ | ||||
| 	"$PAPERLESS_ROOT/README.md" "$PAPERLESS_DIST_APP" | ||||
|  | ||||
| cp "$PAPERLESS_ROOT/paperless.conf.example" "$PAPERLESS_DIST_APP/paperless.conf" | ||||
|  | ||||
| # copy python source, templates and static files. | ||||
| cd "$PAPERLESS_ROOT" | ||||
| find src -wholename '*/templates/*' -o -wholename '*/static/*' -o -name '*.py' | cpio -pdm "$PAPERLESS_DIST_APP" | ||||
|  | ||||
| # build the front end. | ||||
|  | ||||
| cd "$PAPERLESS_ROOT/src-ui" | ||||
| ng build --prod --output-hashing none --sourceMap=false --output-path "$PAPERLESS_DIST_APP/src/documents/static/frontend" | ||||
|  | ||||
| # documentation | ||||
| cp "$PAPERLESS_ROOT/docs/_build/html/" "$PAPERLESS_DIST_APP/docs" -r | ||||
|  | ||||
| # docker files for building the image yourself | ||||
| cp "$PAPERLESS_ROOT/docker/local/"* "$PAPERLESS_DIST_APP" | ||||
| cp "$PAPERLESS_ROOT/docker/docker-compose.env" "$PAPERLESS_DIST_APP" | ||||
|  | ||||
| # docker files for pulling from docker hub | ||||
| cp "$PAPERLESS_ROOT/docker/hub/"* "$PAPERLESS_DIST" | ||||
| cp "$PAPERLESS_ROOT/docker/docker-compose.env" "$PAPERLESS_DIST" | ||||
|  | ||||
| # auxiliary files required for the docker image | ||||
| cp "$PAPERLESS_ROOT/docker/docker-entrypoint.sh" "$PAPERLESS_DIST_APP/docker/" | ||||
| cp "$PAPERLESS_ROOT/docker/gunicorn.conf.py" "$PAPERLESS_DIST_APP/docker/" | ||||
| cp "$PAPERLESS_ROOT/docker/imagemagick-policy.xml" "$PAPERLESS_DIST_APP/docker/" | ||||
| cp "$PAPERLESS_ROOT/docker/supervisord.conf" "$PAPERLESS_DIST_APP/docker/" | ||||
|  | ||||
| # try to make the docker build. | ||||
|  | ||||
| cd "$PAPERLESS_DIST_APP" | ||||
|  | ||||
| docker-compose build | ||||
|  | ||||
| # works. package the app! | ||||
|  | ||||
| cd "$PAPERLESS_DIST" | ||||
|  | ||||
| tar -cJf paperless-ng.tar.xz paperless-ng/ | ||||
		Reference in New Issue
	
	Block a user
	 Jonas Winkler
					Jonas Winkler