18 | */
19 | public class FileUtils {
20 | private FileUtils() {
21 | }
22 |
23 | //****系统文件目录**********************************************************************************************
24 |
25 | /**
26 | * @return 程序系统文件目录
27 | */
28 | public static String getFileDir(Context context) {
29 | return String.valueOf(context.getFilesDir());
30 | }
31 |
32 | /**
33 | * @param context 上下文
34 | * @param customPath 自定义路径
35 | * @return 程序系统文件目录绝对路径
36 | */
37 | public static String getFileDir(Context context, String customPath) {
38 | String path = context.getFilesDir() + formatPath(customPath);
39 | mkdir(path);
40 | return path;
41 | }
42 |
43 | //****系统缓存目录**********************************************************************************************
44 |
45 | /**
46 | * @return 程序系统缓存目录
47 | */
48 | public static String getCacheDir(Context context) {
49 | return String.valueOf(context.getCacheDir());
50 | }
51 |
52 | /**
53 | * @param context 上下文
54 | * @param customPath 自定义路径
55 | * @return 程序系统缓存目录
56 | */
57 | public static String getCacheDir(Context context, String customPath) {
58 | String path = context.getCacheDir() + formatPath(customPath);
59 | mkdir(path);
60 | return path;
61 | }
62 |
63 | //****Sdcard文件目录**********************************************************************************************
64 |
65 | /**
66 | * @return 内存卡文件目录
67 | */
68 | public static String getExternalFileDir(Context context) {
69 | return String.valueOf(context.getExternalFilesDir(""));
70 | }
71 |
72 | /**
73 | * @param context 上下文
74 | * @param customPath 自定义路径
75 | * @return 内存卡文件目录
76 | */
77 | public static String getExternalFileDir(Context context, String customPath) {
78 | String path = context.getExternalFilesDir("") + formatPath(customPath);
79 | mkdir(path);
80 | return path;
81 | }
82 |
83 | //****Sdcard缓存目录**********************************************************************************************
84 |
85 | /**
86 | * @return 内存卡缓存目录
87 | */
88 | public static String getExternalCacheDir(Context context) {
89 | return String.valueOf(context.getExternalCacheDir());
90 | }
91 |
92 | /**
93 | * @param context 上下文
94 | * @param customPath 自定义路径
95 | * @return 内存卡缓存目录
96 | */
97 | public static String getExternalCacheDir(Context context, String customPath) {
98 | String path = context.getExternalCacheDir() + formatPath(customPath);
99 | mkdir(path);
100 | return path;
101 | }
102 |
103 | //****公共文件夹**********************************************************************************************
104 |
105 | /**
106 | * @return 公共下载文件夹
107 | */
108 | public static String getPublicDownloadDir() {
109 | return Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_DOWNLOADS).getAbsolutePath();
110 | }
111 |
112 | //****相关工具**********************************************************************************************
113 |
114 | /**
115 | * 创建文件夹
116 | *
117 | * @param DirPath 文件夹路径
118 | */
119 | public static void mkdir(String DirPath) {
120 | File file = new File(DirPath);
121 | if (!(file.exists() && file.isDirectory())) {
122 | file.mkdirs();
123 | }
124 | }
125 |
126 | /**
127 | * 格式化文件路径
128 | * 示例: 传入 "sloop" "/sloop" "sloop/" "/sloop/"
129 | * 返回 "/sloop"
130 | */
131 | private static String formatPath(String path) {
132 | if (!path.startsWith("/"))
133 | path = "/" + path;
134 | while (path.endsWith("/"))
135 | path = new String(path.toCharArray(), 0, path.length() - 1);
136 | return path;
137 | }
138 |
139 | /**
140 | * @return 存储卡是否挂载(存在)
141 | */
142 | public static boolean isMountSdcard() {
143 | String status = Environment.getExternalStorageState();
144 | return status.equals(Environment.MEDIA_MOUNTED);
145 | }
146 |
147 | }
148 |
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | # SUtil
2 |
3 | [](https://www.apache.org/licenses/LICENSE-2.0)
4 | [](https://jitpack.io/#GcsSloop/SUtil)
5 |
6 | ## Sloop的工具箱
7 | ### 作者微博: [@GcsSloop](http://weibo.com/GcsSloop)
8 |
9 | # 如何添加
10 | ### Gradle
11 | #### 1.在Project的build.gradle 中添加仓库地址
12 | ``` gradle
13 | // JitPack仓库地址
14 | maven { url "https://jitpack.io" }
15 | ```
16 |
17 | 示例:
18 | ``` gradle
19 | allprojects {
20 | repositories {
21 | jcenter()
22 | // JitPack仓库地址
23 | maven { url "https://jitpack.io" }
24 | }
25 | }
26 | ```
27 | #### 2.在Module目录下的build.gradle中添加依赖
28 | ```gradle
29 | //sutil
30 | compile 'com.github.GcsSloop:SUtil:v1.0.2'
31 | ```
32 |
33 | 示例:
34 | ``` gradle
35 | dependencies {
36 | compile fileTree(dir: 'libs', include: ['*.jar'])
37 | testCompile 'junit:junit:4.12'
38 | compile 'com.android.support:appcompat-v7:23.0.1'
39 | //sutil
40 | compile 'com.github.GcsSloop:SUtil:v1.0.1'
41 | }
42 | ```
43 |
44 | # 内容说明
45 |
46 | 包名 | 工具 | 描述 | 所需权限
47 | -----------------------|------|------|---------
48 | com.sloop.adapter.utils | [CommonAdapter](https://github.com/GcsSloop/SUtil/blob/master/library/src/main/java/com/sloop/adapter/utils/CommonAdapter.java) | ListView万能适配器 |
49 | com.sloop.adapter.utils | [ViewHolder](https://github.com/GcsSloop/SUtil/blob/master/library/src/main/java/com/sloop/adapter/utils/ViewHolder.java) | ViewHolder |
50 | com.sloop.animation | [Rotate3dAnimation](https://github.com/GcsSloop/SUtil/blob/master/library/src/main/java/com/sloop/animation/Rotate3dAnimation.java) | 3D翻转动画 |
51 | com.sloop.animation | [AnimationListener](https://github.com/GcsSloop/SUtil/blob/master/library/src/main/java/com/sloop/animation/AnimationListener.java) | 动画监听器默认实现类 |
52 | com.sloop.animation | [AnimatorListener](https://github.com/GcsSloop/SUtil/blob/master/library/src/main/java/com/sloop/animation/AnimatorListener.java) | 属性动画监听器默认实现类 |
53 | com.sloop.async.utils | [SHandler](https://github.com/GcsSloop/SUtil/blob/master/library/src/main/java/com/sloop/async/utils/SHandler.java) | 回调函数 |
54 | com.sloop.io.utils | [CloseUtils](https://github.com/GcsSloop/SUtil/blob/master/library/src/main/java/com/sloop/io/utils/CloseUtils.java) | 关闭函数 |
55 | com.sloop.io.utils | [FileUtils](https://github.com/GcsSloop/SUtil/blob/master/library/src/main/java/com/sloop/io/utils/FileUtils.java) | 文件夹工具 | 存储卡读取(READ_EXTERNAL_STORAGE) 存储卡写入(WRITE_EXTERNAL_STORAGE)
56 | com.sloop.io.utils | [StreamUtils](https://github.com/GcsSloop/SUtil/blob/master/library/src/main/java/com/sloop/io/utils/StreamUtils.java) | 数据流工具 |
57 | com.sloop.net.utils | [NetUtils](https://github.com/GcsSloop/SUtil/blob/master/library/src/main/java/com/sloop/net/utils/NetUtils.java) | 网络相关工具 | 网络访问(INTERNET) 查看网络状态(ACCESS_NETWORK_STATE)
58 | com.sloop.utils | [ActivityUtils](https://github.com/GcsSloop/SUtil/blob/master/library/src/main/java/com/sloop/utils/ActivityUtils.java) | Activity相关工具 |
59 | com.sloop.utils | [AppUtils](https://github.com/GcsSloop/SUtil/blob/master/library/src/main/java/com/sloop/utils/AppUtils.java) | Application相关工具 |
60 | com.sloop.utils | [DataCheck](https://github.com/GcsSloop/SUtil/blob/master/library/src/main/java/com/sloop/utils/DataCheck.java) | 数据检查 |
61 | com.sloop.utils | [MathUtils](https://github.com/GcsSloop/SUtil/blob/master/library/src/main/java/com/sloop/utils/MathUtils.java) | 数学工具 |
62 | com.sloop.utils | [ToastUtils](https://github.com/GcsSloop/SUtil/blob/master/library/src/main/java/com/sloop/utils/ToastUtils.java) | Toast工具 |
63 | com.sloop.view.utils | [DensityUtils](https://github.com/GcsSloop/SUtil/blob/master/library/src/main/java/com/sloop/view/utils/DensityUtils.java) | 屏幕密度相关工具 |
64 | com.sloop.view.utils | [ViewUtils](https://github.com/GcsSloop/SUtil/blob/master/library/src/main/java/com/sloop/view/utils/ViewUtils.java) | 视图相关工具 |
65 |
66 | ## 版本更新:
67 | 版本号 | 更新内容
68 | :-----:| ------------
69 | v1.0.2 | 为通用适配器增加追加数据功能,删除WiFiUtils,添加NetUtils
70 | v1.0.1 | 降低minSdkVersion,提高兼容性
71 | v1.0.0 | 从jCenter迁移到JitPack,以前版本作废
72 |
73 |
74 |
75 | ## About Me
76 |
77 |
78 |
79 | # License
80 | ```
81 | Copyright (c) 2016 GcsSloop
82 |
83 | Licensed under the Apache License, Version 2.0 (the "License");
84 | you may not use this file except in compliance with the License.
85 | You may obtain a copy of the License at
86 |
87 | http://www.apache.org/licenses/LICENSE-2.0
88 |
89 | Unless required by applicable law or agreed to in writing, software
90 | distributed under the License is distributed on an "AS IS" BASIS,
91 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
92 | See the License for the specific language governing permissions and
93 | limitations under the License.
94 | ```
95 |
96 |
--------------------------------------------------------------------------------
/gradlew:
--------------------------------------------------------------------------------
1 | #!/usr/bin/env bash
2 |
3 | ##############################################################################
4 | ##
5 | ## Gradle start up script for UN*X
6 | ##
7 | ##############################################################################
8 |
9 | # Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script.
10 | DEFAULT_JVM_OPTS=""
11 |
12 | APP_NAME="Gradle"
13 | APP_BASE_NAME=`basename "$0"`
14 |
15 | # Use the maximum available, or set MAX_FD != -1 to use that value.
16 | MAX_FD="maximum"
17 |
18 | warn ( ) {
19 | echo "$*"
20 | }
21 |
22 | die ( ) {
23 | echo
24 | echo "$*"
25 | echo
26 | exit 1
27 | }
28 |
29 | # OS specific support (must be 'true' or 'false').
30 | cygwin=false
31 | msys=false
32 | darwin=false
33 | case "`uname`" in
34 | CYGWIN* )
35 | cygwin=true
36 | ;;
37 | Darwin* )
38 | darwin=true
39 | ;;
40 | MINGW* )
41 | msys=true
42 | ;;
43 | esac
44 |
45 | # Attempt to set APP_HOME
46 | # Resolve links: $0 may be a link
47 | PRG="$0"
48 | # Need this for relative symlinks.
49 | while [ -h "$PRG" ] ; do
50 | ls=`ls -ld "$PRG"`
51 | link=`expr "$ls" : '.*-> \(.*\)$'`
52 | if expr "$link" : '/.*' > /dev/null; then
53 | PRG="$link"
54 | else
55 | PRG=`dirname "$PRG"`"/$link"
56 | fi
57 | done
58 | SAVED="`pwd`"
59 | cd "`dirname \"$PRG\"`/" >/dev/null
60 | APP_HOME="`pwd -P`"
61 | cd "$SAVED" >/dev/null
62 |
63 | CLASSPATH=$APP_HOME/gradle/wrapper/gradle-wrapper.jar
64 |
65 | # Determine the Java command to use to start the JVM.
66 | if [ -n "$JAVA_HOME" ] ; then
67 | if [ -x "$JAVA_HOME/jre/sh/java" ] ; then
68 | # IBM's JDK on AIX uses strange locations for the executables
69 | JAVACMD="$JAVA_HOME/jre/sh/java"
70 | else
71 | JAVACMD="$JAVA_HOME/bin/java"
72 | fi
73 | if [ ! -x "$JAVACMD" ] ; then
74 | die "ERROR: JAVA_HOME is set to an invalid directory: $JAVA_HOME
75 |
76 | Please set the JAVA_HOME variable in your environment to match the
77 | location of your Java installation."
78 | fi
79 | else
80 | JAVACMD="java"
81 | which java >/dev/null 2>&1 || die "ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH.
82 |
83 | Please set the JAVA_HOME variable in your environment to match the
84 | location of your Java installation."
85 | fi
86 |
87 | # Increase the maximum file descriptors if we can.
88 | if [ "$cygwin" = "false" -a "$darwin" = "false" ] ; then
89 | MAX_FD_LIMIT=`ulimit -H -n`
90 | if [ $? -eq 0 ] ; then
91 | if [ "$MAX_FD" = "maximum" -o "$MAX_FD" = "max" ] ; then
92 | MAX_FD="$MAX_FD_LIMIT"
93 | fi
94 | ulimit -n $MAX_FD
95 | if [ $? -ne 0 ] ; then
96 | warn "Could not set maximum file descriptor limit: $MAX_FD"
97 | fi
98 | else
99 | warn "Could not query maximum file descriptor limit: $MAX_FD_LIMIT"
100 | fi
101 | fi
102 |
103 | # For Darwin, add options to specify how the application appears in the dock
104 | if $darwin; then
105 | GRADLE_OPTS="$GRADLE_OPTS \"-Xdock:name=$APP_NAME\" \"-Xdock:icon=$APP_HOME/media/gradle.icns\""
106 | fi
107 |
108 | # For Cygwin, switch paths to Windows format before running java
109 | if $cygwin ; then
110 | APP_HOME=`cygpath --path --mixed "$APP_HOME"`
111 | CLASSPATH=`cygpath --path --mixed "$CLASSPATH"`
112 | JAVACMD=`cygpath --unix "$JAVACMD"`
113 |
114 | # We build the pattern for arguments to be converted via cygpath
115 | ROOTDIRSRAW=`find -L / -maxdepth 1 -mindepth 1 -type d 2>/dev/null`
116 | SEP=""
117 | for dir in $ROOTDIRSRAW ; do
118 | ROOTDIRS="$ROOTDIRS$SEP$dir"
119 | SEP="|"
120 | done
121 | OURCYGPATTERN="(^($ROOTDIRS))"
122 | # Add a user-defined pattern to the cygpath arguments
123 | if [ "$GRADLE_CYGPATTERN" != "" ] ; then
124 | OURCYGPATTERN="$OURCYGPATTERN|($GRADLE_CYGPATTERN)"
125 | fi
126 | # Now convert the arguments - kludge to limit ourselves to /bin/sh
127 | i=0
128 | for arg in "$@" ; do
129 | CHECK=`echo "$arg"|egrep -c "$OURCYGPATTERN" -`
130 | CHECK2=`echo "$arg"|egrep -c "^-"` ### Determine if an option
131 |
132 | if [ $CHECK -ne 0 ] && [ $CHECK2 -eq 0 ] ; then ### Added a condition
133 | eval `echo args$i`=`cygpath --path --ignore --mixed "$arg"`
134 | else
135 | eval `echo args$i`="\"$arg\""
136 | fi
137 | i=$((i+1))
138 | done
139 | case $i in
140 | (0) set -- ;;
141 | (1) set -- "$args0" ;;
142 | (2) set -- "$args0" "$args1" ;;
143 | (3) set -- "$args0" "$args1" "$args2" ;;
144 | (4) set -- "$args0" "$args1" "$args2" "$args3" ;;
145 | (5) set -- "$args0" "$args1" "$args2" "$args3" "$args4" ;;
146 | (6) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" ;;
147 | (7) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" ;;
148 | (8) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" ;;
149 | (9) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" "$args8" ;;
150 | esac
151 | fi
152 |
153 | # Split up the JVM_OPTS And GRADLE_OPTS values into an array, following the shell quoting and substitution rules
154 | function splitJvmOpts() {
155 | JVM_OPTS=("$@")
156 | }
157 | eval splitJvmOpts $DEFAULT_JVM_OPTS $JAVA_OPTS $GRADLE_OPTS
158 | JVM_OPTS[${#JVM_OPTS[*]}]="-Dorg.gradle.appname=$APP_BASE_NAME"
159 |
160 | exec "$JAVACMD" "${JVM_OPTS[@]}" -classpath "$CLASSPATH" org.gradle.wrapper.GradleWrapperMain "$@"
161 |
--------------------------------------------------------------------------------
/library/library.iml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 | generateDebugSources
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
30 |
31 |
32 |
33 |
34 |
35 |
36 |
37 |
38 |
39 |
40 |
41 |
42 |
43 |
44 |
45 |
46 |
47 |
48 |
49 |
50 |
51 |
52 |
53 |
54 |
55 |
56 |
57 |
58 |
59 |
60 |
61 |
62 |
63 |
64 |
65 |
66 |
67 |
68 |
69 |
70 |
71 |
72 |
73 |
74 |
75 |
76 |
77 |
78 |
79 |
80 |
81 |
82 |
83 |
84 |
85 |
86 |
87 |
88 |
89 |
90 |
91 |
92 |
93 |
94 |
95 |
96 |
97 |
98 |
99 |
100 |
101 |
102 |
103 |
--------------------------------------------------------------------------------
/LICENSE:
--------------------------------------------------------------------------------
1 | The Artistic License 2.0
2 |
3 | Copyright (c) 2015 sloop
4 |
5 | Everyone is permitted to copy and distribute verbatim copies
6 | of this license document, but changing it is not allowed.
7 |
8 | Preamble
9 |
10 | This license establishes the terms under which a given free software
11 | Package may be copied, modified, distributed, and/or redistributed.
12 | The intent is that the Copyright Holder maintains some artistic
13 | control over the development of that Package while still keeping the
14 | Package available as open source and free software.
15 |
16 | You are always permitted to make arrangements wholly outside of this
17 | license directly with the Copyright Holder of a given Package. If the
18 | terms of this license do not permit the full use that you propose to
19 | make of the Package, you should contact the Copyright Holder and seek
20 | a different licensing arrangement.
21 |
22 | Definitions
23 |
24 | "Copyright Holder" means the individual(s) or organization(s)
25 | named in the copyright notice for the entire Package.
26 |
27 | "Contributor" means any party that has contributed code or other
28 | material to the Package, in accordance with the Copyright Holder's
29 | procedures.
30 |
31 | "You" and "your" means any person who would like to copy,
32 | distribute, or modify the Package.
33 |
34 | "Package" means the collection of files distributed by the
35 | Copyright Holder, and derivatives of that collection and/or of
36 | those files. A given Package may consist of either the Standard
37 | Version, or a Modified Version.
38 |
39 | "Distribute" means providing a copy of the Package or making it
40 | accessible to anyone else, or in the case of a company or
41 | organization, to others outside of your company or organization.
42 |
43 | "Distributor Fee" means any fee that you charge for Distributing
44 | this Package or providing support for this Package to another
45 | party. It does not mean licensing fees.
46 |
47 | "Standard Version" refers to the Package if it has not been
48 | modified, or has been modified only in ways explicitly requested
49 | by the Copyright Holder.
50 |
51 | "Modified Version" means the Package, if it has been changed, and
52 | such changes were not explicitly requested by the Copyright
53 | Holder.
54 |
55 | "Original License" means this Artistic License as Distributed with
56 | the Standard Version of the Package, in its current version or as
57 | it may be modified by The Perl Foundation in the future.
58 |
59 | "Source" form means the source code, documentation source, and
60 | configuration files for the Package.
61 |
62 | "Compiled" form means the compiled bytecode, object code, binary,
63 | or any other form resulting from mechanical transformation or
64 | translation of the Source form.
65 |
66 |
67 | Permission for Use and Modification Without Distribution
68 |
69 | (1) You are permitted to use the Standard Version and create and use
70 | Modified Versions for any purpose without restriction, provided that
71 | you do not Distribute the Modified Version.
72 |
73 |
74 | Permissions for Redistribution of the Standard Version
75 |
76 | (2) You may Distribute verbatim copies of the Source form of the
77 | Standard Version of this Package in any medium without restriction,
78 | either gratis or for a Distributor Fee, provided that you duplicate
79 | all of the original copyright notices and associated disclaimers. At
80 | your discretion, such verbatim copies may or may not include a
81 | Compiled form of the Package.
82 |
83 | (3) You may apply any bug fixes, portability changes, and other
84 | modifications made available from the Copyright Holder. The resulting
85 | Package will still be considered the Standard Version, and as such
86 | will be subject to the Original License.
87 |
88 |
89 | Distribution of Modified Versions of the Package as Source
90 |
91 | (4) You may Distribute your Modified Version as Source (either gratis
92 | or for a Distributor Fee, and with or without a Compiled form of the
93 | Modified Version) provided that you clearly document how it differs
94 | from the Standard Version, including, but not limited to, documenting
95 | any non-standard features, executables, or modules, and provided that
96 | you do at least ONE of the following:
97 |
98 | (a) make the Modified Version available to the Copyright Holder
99 | of the Standard Version, under the Original License, so that the
100 | Copyright Holder may include your modifications in the Standard
101 | Version.
102 |
103 | (b) ensure that installation of your Modified Version does not
104 | prevent the user installing or running the Standard Version. In
105 | addition, the Modified Version must bear a name that is different
106 | from the name of the Standard Version.
107 |
108 | (c) allow anyone who receives a copy of the Modified Version to
109 | make the Source form of the Modified Version available to others
110 | under
111 |
112 | (i) the Original License or
113 |
114 | (ii) a license that permits the licensee to freely copy,
115 | modify and redistribute the Modified Version using the same
116 | licensing terms that apply to the copy that the licensee
117 | received, and requires that the Source form of the Modified
118 | Version, and of any works derived from it, be made freely
119 | available in that license fees are prohibited but Distributor
120 | Fees are allowed.
121 |
122 |
123 | Distribution of Compiled Forms of the Standard Version
124 | or Modified Versions without the Source
125 |
126 | (5) You may Distribute Compiled forms of the Standard Version without
127 | the Source, provided that you include complete instructions on how to
128 | get the Source of the Standard Version. Such instructions must be
129 | valid at the time of your distribution. If these instructions, at any
130 | time while you are carrying out such distribution, become invalid, you
131 | must provide new instructions on demand or cease further distribution.
132 | If you provide valid instructions or cease distribution within thirty
133 | days after you become aware that the instructions are invalid, then
134 | you do not forfeit any of your rights under this license.
135 |
136 | (6) You may Distribute a Modified Version in Compiled form without
137 | the Source, provided that you comply with Section 4 with respect to
138 | the Source of the Modified Version.
139 |
140 |
141 | Aggregating or Linking the Package
142 |
143 | (7) You may aggregate the Package (either the Standard Version or
144 | Modified Version) with other packages and Distribute the resulting
145 | aggregation provided that you do not charge a licensing fee for the
146 | Package. Distributor Fees are permitted, and licensing fees for other
147 | components in the aggregation are permitted. The terms of this license
148 | apply to the use and Distribution of the Standard or Modified Versions
149 | as included in the aggregation.
150 |
151 | (8) You are permitted to link Modified and Standard Versions with
152 | other works, to embed the Package in a larger work of your own, or to
153 | build stand-alone binary or bytecode versions of applications that
154 | include the Package, and Distribute the result without restriction,
155 | provided the result does not expose a direct interface to the Package.
156 |
157 |
158 | Items That are Not Considered Part of a Modified Version
159 |
160 | (9) Works (including, but not limited to, modules and scripts) that
161 | merely extend or make use of the Package, do not, by themselves, cause
162 | the Package to be a Modified Version. In addition, such works are not
163 | considered parts of the Package itself, and are not subject to the
164 | terms of this license.
165 |
166 |
167 | General Provisions
168 |
169 | (10) Any use, modification, and distribution of the Standard or
170 | Modified Versions is governed by this Artistic License. By using,
171 | modifying or distributing the Package, you accept this license. Do not
172 | use, modify, or distribute the Package, if you do not accept this
173 | license.
174 |
175 | (11) If your Modified Version has been derived from a Modified
176 | Version made by someone other than you, you are nevertheless required
177 | to ensure that your Modified Version complies with the requirements of
178 | this license.
179 |
180 | (12) This license does not grant you the right to use any trademark,
181 | service mark, tradename, or logo of the Copyright Holder.
182 |
183 | (13) This license includes the non-exclusive, worldwide,
184 | free-of-charge patent license to make, have made, use, offer to sell,
185 | sell, import and otherwise transfer the Package with respect to any
186 | patent claims licensable by the Copyright Holder that are necessarily
187 | infringed by the Package. If you institute patent litigation
188 | (including a cross-claim or counterclaim) against any party alleging
189 | that the Package constitutes direct or contributory patent
190 | infringement, then this Artistic License to you shall terminate on the
191 | date that such litigation is filed.
192 |
193 | (14) Disclaimer of Warranty:
194 | THE PACKAGE IS PROVIDED BY THE COPYRIGHT HOLDER AND CONTRIBUTORS "AS
195 | IS' AND WITHOUT ANY EXPRESS OR IMPLIED WARRANTIES. THE IMPLIED
196 | WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, OR
197 | NON-INFRINGEMENT ARE DISCLAIMED TO THE EXTENT PERMITTED BY YOUR LOCAL
198 | LAW. UNLESS REQUIRED BY LAW, NO COPYRIGHT HOLDER OR CONTRIBUTOR WILL
199 | BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL
200 | DAMAGES ARISING IN ANY WAY OUT OF THE USE OF THE PACKAGE, EVEN IF
201 | ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
202 |
203 |
--------------------------------------------------------------------------------