OSDN Git Service

Merge pull request #9 from dictzip/topic-new-pkg-repository
[dictzip-java/dictzip-java.git] / README.md
1 # dictzip-java
2
3 DictZip, GZip random access compression format(.dz), access library for Java
4
5 [![Build Status](https://travis-ci.org/dictzip/dictzip-java.svg?branch=master)](https://travis-ci.org/dictzip/dictzip-java)
6 [![Download](https://api.bintray.com/packages/dictzip/maven/dictzip-lib/images/download.svg) ](https://bintray.com/dictzip/maven/dictzip-lib/_latestVersion)
7
8 ## Usage
9
10 Extract archive in a directory. If you want to use just library, `dictzip-lib.jar`
11 is an only file for you.
12 CLI is also made for example of API usage and will be a good reference.
13 Also there is a javadoc of DictZip at https://miurahr.github.io/dictzip-java
14
15 ### gradle
16
17 dictzip library is published on GitHub Packages repository and Azure Artifactory repository.
18
19 ```
20 repositories {
21     maven { // when use github
22         url "https://maven.pkg.github.com/dictzip/dictzip-java"
23         credentials {
24             username = 'github username'
25             password = 'personal access token'
26         }
27     }
28     maven { // when use Azure
29         url "https://pkgs.dev.azure.com/miurahr/github/_packaging/maven/maven/v1"
30         credentials {
31             username = 'azure devops username'
32             password = 'personal access token'
33         }
34     }
35 }
36 dependencies {
37     implementation 'org.dict.zip:dictzip-lib:0.9.1'
38 }
39 ```
40
41 ## Build
42
43 DictZip for java uses Gradle for build system. You can build library and CLI
44 by typing command:
45
46 ```
47 $ gradle build
48 ```
49
50 You will find archive files at
51
52 ```
53 dictzip-cli/build/distributions/dictzip-<version>.tgz
54 dictzip-cli/build/distributions/dictzip-<version>.zip
55 ```
56
57 ## Contribution
58
59 As usual of other projects hosted on GitHub, DictZip for java also welcome
60 forking source and send modification as a Pull Request.
61 It is recommended to post an issue before sending a patch.
62
63
64 ## Dependencies
65
66 DictZip library does not depend on any project without Java standard libraries.
67
68 DictZip CLI utility depends on some libraries.
69 It depends on JFrog bintray JCenter repository.
70
71 ### Runtime depenency
72
73 - java-getopts library(GPLv2+)
74
75 ### Test dependency
76
77 - TestNG framework(Apache2)
78 - Northside IO library(Apache2)
79
80
81 ## Copyrights and License
82
83 DictZip library for Java and command line utility.
84
85 Copyright (C) 2001-2004 Ho Ngoc Duc
86
87 Copyright (C) 2016 Hiroshi Miura
88
89 Some part of this program are come from a part of jdictd 1.5 on java.
90
91 DictZip command line utility is distributed under the terms of GNU General
92 Public License Version 2 or (at your option) any later version.
93
94 DictZip library is distributed under the terms of the GNU General Public License
95 Version 2 or (at your option) any later version with the following clarification
96 and special exception as same as GNU classpath.
97
98 Linking this library statically or dynamically with other modules is making
99 a combined work based on this library. Thus, the terms and conditions of
100 the GNU General Public License cover the whole combination.
101
102 As a special exception, the copyright holders of this library give you permission
103 to link this library with independent modules to produce an executable, regardless
104 of the license terms of these independent modules, and to copy and distribute
105 the resulting executable under terms of your choice, provided that you also meet,
106 for each linked independent module, the terms and conditions of the license of
107 that module. An independent module is a module which is not derived from or based on
108 this library. If you modify this library, you may extend this exception to
109 your version of the library, but you are not obligated to do so. If you do not wish
110 to do so, delete this exception statement from your version.
111
112 As such, it can be used to run, create and distribute a large class of applications
113 and applets. When this library is used unmodified as the core class library
114 for a virtual machine, compiler for the java languge, or for a program written
115 in the java programming language it does not affect the licensing for distributing
116 those programs directly.