Skip to content

Commit b604873

Browse files
committed
Add notes about releasing, include a license report, remove unused tooling API and move fernflower dependency into a local Maven repository
1 parent 1b85768 commit b604873

File tree

7 files changed

+284
-2
lines changed

7 files changed

+284
-2
lines changed

BUILDING.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,8 @@ Describes how to build and run this project. Note that you might need to use `gr
2222
| Running | `./gradlew server:run` | Runs the standalone language server from the command line |
2323
| Debugging | `./gradlew server:debugRun` | Launches the standalone language server from the command line using a debug configuration |
2424
| Building | `./gradlew server:build` | Builds, tests and packages the language server |
25+
| Releasing | `./gradlew server:distZip` | Creates a release zip in `server/build/distributions`. If any dependencies have changed since the last release, a new license report should be generated and placed in `src/main/dist` before creating the distribution. |
26+
| Generating a license report | `./gradlew server:licenseReport` | Generates a license report from the dependencies in `server/build/reports/licenses` |
2527

2628
### Launching the packaged language server
2729
* Start scripts for the language server are located under `server/build/install/server/bin/`

server/build.gradle

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
plugins {
22
id 'application'
33
id 'com.github.jk1.tcdeps' version '0.17'
4+
id 'com.jaredsburrows.license' version '0.8.42'
45
}
56

67
group = 'org.javacs'
@@ -14,6 +15,7 @@ def debugArgs = '-agentlib:jdwp=transport=dt_socket,server=y,address=8000,suspen
1415

1516
repositories {
1617
maven { url 'https://repo.gradle.org/gradle/libs-releases' }
18+
maven { url uri("$projectDir/lib") }
1719
mavenCentral()
1820
teamcityServer {
1921
url = teamCityUrl
@@ -36,8 +38,8 @@ dependencies {
3638
implementation 'org.eclipse.lsp4j:org.eclipse.lsp4j:0.5.0'
3739
implementation "org.jetbrains.kotlin:kotlin-compiler:$kotlinVersion"
3840
implementation "org.jetbrains.kotlin:kotlin-reflect:$kotlinVersion"
41+
implementation 'org.jetbrains:fernflower:1.0'
3942

40-
implementation fileTree(dir: "$projectDir/lib", include: ["*.jar"])
4143
implementation fileTree(dir: "$projectDir/lib-kotlin", include: ["*.jar"])
4244

4345
kotlinJVMLib tc("$kotlinTeamCity/lib/kotlin-plugin.jar")
Binary file not shown.
Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
<project>
2+
<modelVersion>4.0.0</modelVersion>
3+
<groupId>org.jetbrains</groupId>
4+
<artifactId>fernflower</artifactId>
5+
<version>1.0</version>
6+
<packaging>jar</packaging>
7+
8+
<name>Fernflower Decompiler</name>
9+
<description>An open-source decompiler.</description>
10+
<url>https://github.com/JetBrains/intellij-community/tree/master/plugins/java-decompiler/engine</url>
11+
12+
<licenses>
13+
<license>
14+
<name>Apache License, Version 2.0</name>
15+
<url>http://www.apache.org/licenses/LICENSE-2.0</url>
16+
<distribution>repo</distribution>
17+
</license>
18+
</licenses>
19+
</project>
Lines changed: 260 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,260 @@
1+
<html>
2+
<head>
3+
<style>body { font-family: sans-serif } pre { background-color: #eeeeee; padding: 1em; white-space: pre-wrap; display: inline-block }</style>
4+
<title>Open source licenses</title>
5+
</head>
6+
<body>
7+
<h3>Notice for packages:</h3>
8+
<ul>
9+
<li>
10+
<a href='#1574606081'>Eclipse Xbase Runtime Library</a>
11+
</li>
12+
<li>
13+
<a href='#1574606081'>Eclipse Xtend Active Annotations Library</a>
14+
</li>
15+
<li>
16+
<a href='#1574606081'>Eclipse Xtend Runtime Library</a>
17+
</li>
18+
<pre>Eclipse Public License, Version 1.0
19+
<a href='http://www.eclipse.org/legal/epl-v10.html'>http://www.eclipse.org/legal/epl-v10.html</a></pre>
20+
<li>
21+
<a href='#1288284111'>Gson</a>
22+
</li>
23+
<li>
24+
<a href='#1288284111'>Guava: Google Core Libraries for Java</a>
25+
</li>
26+
<li>
27+
<a href='#1288284111'>IntelliJ IDEA Annotations</a>
28+
</li>
29+
<li>
30+
<a href='#1288284111'>Org.jetbrains.kotlin:kotlin-compiler</a>
31+
</li>
32+
<li>
33+
<a href='#1288284111'>Org.jetbrains.kotlin:kotlin-reflect</a>
34+
</li>
35+
<li>
36+
<a href='#1288284111'>Org.jetbrains.kotlin:kotlin-script-runtime</a>
37+
</li>
38+
<li>
39+
<a href='#1288284111'>Org.jetbrains.kotlin:kotlin-stdlib</a>
40+
</li>
41+
<li>
42+
<a href='#1288284111'>Org.jetbrains.kotlin:kotlin-stdlib-common</a>
43+
</li>
44+
<a name='1288284111' />
45+
<pre> Apache License
46+
Version 2.0, January 2004
47+
http://www.apache.org/licenses/
48+
49+
TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
50+
51+
1. Definitions.
52+
53+
"License" shall mean the terms and conditions for use, reproduction,
54+
and distribution as defined by Sections 1 through 9 of this document.
55+
56+
"Licensor" shall mean the copyright owner or entity authorized by
57+
the copyright owner that is granting the License.
58+
59+
"Legal Entity" shall mean the union of the acting entity and all
60+
other entities that control, are controlled by, or are under common
61+
control with that entity. For the purposes of this definition,
62+
"control" means (i) the power, direct or indirect, to cause the
63+
direction or management of such entity, whether by contract or
64+
otherwise, or (ii) ownership of fifty percent (50%) or more of the
65+
outstanding shares, or (iii) beneficial ownership of such entity.
66+
67+
"You" (or "Your") shall mean an individual or Legal Entity
68+
exercising permissions granted by this License.
69+
70+
"Source" form shall mean the preferred form for making modifications,
71+
including but not limited to software source code, documentation
72+
source, and configuration files.
73+
74+
"Object" form shall mean any form resulting from mechanical
75+
transformation or translation of a Source form, including but
76+
not limited to compiled object code, generated documentation,
77+
and conversions to other media types.
78+
79+
"Work" shall mean the work of authorship, whether in Source or
80+
Object form, made available under the License, as indicated by a
81+
copyright notice that is included in or attached to the work
82+
(an example is provided in the Appendix below).
83+
84+
"Derivative Works" shall mean any work, whether in Source or Object
85+
form, that is based on (or derived from) the Work and for which the
86+
editorial revisions, annotations, elaborations, or other modifications
87+
represent, as a whole, an original work of authorship. For the purposes
88+
of this License, Derivative Works shall not include works that remain
89+
separable from, or merely link (or bind by name) to the interfaces of,
90+
the Work and Derivative Works thereof.
91+
92+
"Contribution" shall mean any work of authorship, including
93+
the original version of the Work and any modifications or additions
94+
to that Work or Derivative Works thereof, that is intentionally
95+
submitted to Licensor for inclusion in the Work by the copyright owner
96+
or by an individual or Legal Entity authorized to submit on behalf of
97+
the copyright owner. For the purposes of this definition, "submitted"
98+
means any form of electronic, verbal, or written communication sent
99+
to the Licensor or its representatives, including but not limited to
100+
communication on electronic mailing lists, source code control systems,
101+
and issue tracking systems that are managed by, or on behalf of, the
102+
Licensor for the purpose of discussing and improving the Work, but
103+
excluding communication that is conspicuously marked or otherwise
104+
designated in writing by the copyright owner as "Not a Contribution."
105+
106+
"Contributor" shall mean Licensor and any individual or Legal Entity
107+
on behalf of whom a Contribution has been received by Licensor and
108+
subsequently incorporated within the Work.
109+
110+
2. Grant of Copyright License. Subject to the terms and conditions of
111+
this License, each Contributor hereby grants to You a perpetual,
112+
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
113+
copyright license to reproduce, prepare Derivative Works of,
114+
publicly display, publicly perform, sublicense, and distribute the
115+
Work and such Derivative Works in Source or Object form.
116+
117+
3. Grant of Patent License. Subject to the terms and conditions of
118+
this License, each Contributor hereby grants to You a perpetual,
119+
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
120+
(except as stated in this section) patent license to make, have made,
121+
use, offer to sell, sell, import, and otherwise transfer the Work,
122+
where such license applies only to those patent claims licensable
123+
by such Contributor that are necessarily infringed by their
124+
Contribution(s) alone or by combination of their Contribution(s)
125+
with the Work to which such Contribution(s) was submitted. If You
126+
institute patent litigation against any entity (including a
127+
cross-claim or counterclaim in a lawsuit) alleging that the Work
128+
or a Contribution incorporated within the Work constitutes direct
129+
or contributory patent infringement, then any patent licenses
130+
granted to You under this License for that Work shall terminate
131+
as of the date such litigation is filed.
132+
133+
4. Redistribution. You may reproduce and distribute copies of the
134+
Work or Derivative Works thereof in any medium, with or without
135+
modifications, and in Source or Object form, provided that You
136+
meet the following conditions:
137+
138+
(a) You must give any other recipients of the Work or
139+
Derivative Works a copy of this License; and
140+
141+
(b) You must cause any modified files to carry prominent notices
142+
stating that You changed the files; and
143+
144+
(c) You must retain, in the Source form of any Derivative Works
145+
that You distribute, all copyright, patent, trademark, and
146+
attribution notices from the Source form of the Work,
147+
excluding those notices that do not pertain to any part of
148+
the Derivative Works; and
149+
150+
(d) If the Work includes a "NOTICE" text file as part of its
151+
distribution, then any Derivative Works that You distribute must
152+
include a readable copy of the attribution notices contained
153+
within such NOTICE file, excluding those notices that do not
154+
pertain to any part of the Derivative Works, in at least one
155+
of the following places: within a NOTICE text file distributed
156+
as part of the Derivative Works; within the Source form or
157+
documentation, if provided along with the Derivative Works; or,
158+
within a display generated by the Derivative Works, if and
159+
wherever such third-party notices normally appear. The contents
160+
of the NOTICE file are for informational purposes only and
161+
do not modify the License. You may add Your own attribution
162+
notices within Derivative Works that You distribute, alongside
163+
or as an addendum to the NOTICE text from the Work, provided
164+
that such additional attribution notices cannot be construed
165+
as modifying the License.
166+
167+
You may add Your own copyright statement to Your modifications and
168+
may provide additional or different license terms and conditions
169+
for use, reproduction, or distribution of Your modifications, or
170+
for any such Derivative Works as a whole, provided Your use,
171+
reproduction, and distribution of the Work otherwise complies with
172+
the conditions stated in this License.
173+
174+
5. Submission of Contributions. Unless You explicitly state otherwise,
175+
any Contribution intentionally submitted for inclusion in the Work
176+
by You to the Licensor shall be under the terms and conditions of
177+
this License, without any additional terms or conditions.
178+
Notwithstanding the above, nothing herein shall supersede or modify
179+
the terms of any separate license agreement you may have executed
180+
with Licensor regarding such Contributions.
181+
182+
6. Trademarks. This License does not grant permission to use the trade
183+
names, trademarks, service marks, or product names of the Licensor,
184+
except as required for reasonable and customary use in describing the
185+
origin of the Work and reproducing the content of the NOTICE file.
186+
187+
7. Disclaimer of Warranty. Unless required by applicable law or
188+
agreed to in writing, Licensor provides the Work (and each
189+
Contributor provides its Contributions) on an "AS IS" BASIS,
190+
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
191+
implied, including, without limitation, any warranties or conditions
192+
of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
193+
PARTICULAR PURPOSE. You are solely responsible for determining the
194+
appropriateness of using or redistributing the Work and assume any
195+
risks associated with Your exercise of permissions under this License.
196+
197+
8. Limitation of Liability. In no event and under no legal theory,
198+
whether in tort (including negligence), contract, or otherwise,
199+
unless required by applicable law (such as deliberate and grossly
200+
negligent acts) or agreed to in writing, shall any Contributor be
201+
liable to You for damages, including any direct, indirect, special,
202+
incidental, or consequential damages of any character arising as a
203+
result of this License or out of the use or inability to use the
204+
Work (including but not limited to damages for loss of goodwill,
205+
work stoppage, computer failure or malfunction, or any and all
206+
other commercial damages or losses), even if such Contributor
207+
has been advised of the possibility of such damages.
208+
209+
9. Accepting Warranty or Additional Liability. While redistributing
210+
the Work or Derivative Works thereof, You may choose to offer,
211+
and charge a fee for, acceptance of support, warranty, indemnity,
212+
or other liability obligations and/or rights consistent with this
213+
License. However, in accepting such obligations, You may act only
214+
on Your own behalf and on Your sole responsibility, not on behalf
215+
of any other Contributor, and only if You agree to indemnify,
216+
defend, and hold each Contributor harmless for any liability
217+
incurred by, or claims asserted against, such Contributor by reason
218+
of your accepting any such warranty or additional liability.
219+
220+
END OF TERMS AND CONDITIONS
221+
222+
APPENDIX: How to apply the Apache License to your work.
223+
224+
To apply the Apache License to your work, attach the following
225+
boilerplate notice, with the fields enclosed by brackets "[]"
226+
replaced with your own identifying information. (Don't include
227+
the brackets!) The text should be enclosed in the appropriate
228+
comment syntax for the file format. We also recommend that a
229+
file or class name and description of purpose be included on the
230+
same "printed page" as the copyright notice for easier
231+
identification within third-party archives.
232+
233+
Copyright [yyyy] [name of copyright owner]
234+
235+
Licensed under the Apache License, Version 2.0 (the "License");
236+
you may not use this file except in compliance with the License.
237+
You may obtain a copy of the License at
238+
239+
http://www.apache.org/licenses/LICENSE-2.0
240+
241+
Unless required by applicable law or agreed to in writing, software
242+
distributed under the License is distributed on an "AS IS" BASIS,
243+
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
244+
See the License for the specific language governing permissions and
245+
limitations under the License.
246+
</pre>
247+
<li>
248+
<a href='#79718298'>LSP4J</a>
249+
</li>
250+
<li>
251+
<a href='#79718298'>LSP4J Generator</a>
252+
</li>
253+
<li>
254+
<a href='#79718298'>LSP4J JSON-RPC</a>
255+
</li>
256+
<pre>Eclipse Public License, Version 2.0
257+
<a href='https://www.eclipse.org/legal/epl-2.0'>https://www.eclipse.org/legal/epl-2.0</a></pre>
258+
</ul>
259+
</body>
260+
</html>

shared/build.gradle

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,5 +5,4 @@ repositories {
55

66
dependencies {
77
implementation "org.jetbrains.kotlin:kotlin-stdlib:$kotlinVersion"
8-
implementation 'org.gradle:gradle-tooling-api:4.3'
98
}

0 commit comments

Comments
 (0)