@@ -36,29 +36,25 @@ dependencies {
3636
3737 // Mark dependencies as dynamic
3838 // They will be available at compile time but NOT included in the JAR
39- dynamic (" net.dv8tion:JDA:6.1.2" )
40- dynamic (" com.google.guava:guava:32.1.3-jre" )
39+ bootstrap (" net.dv8tion:JDA:6.1.2" )
40+ bootstrap (" com.google.guava:guava:32.1.3-jre" )
4141}
4242```
4343
4444### 2. Use the simple bootstrap API
4545
4646** Main.java:**
4747``` java
48- import fr.traqueur.bootstrap.BootstrapLoader ;
4948
5049public class Main {
5150 public static void main (String [] args ) {
52- DynamicLoader . bootstrap(args, MyApp . class);
51+ BootstrapLoader . bootstrap(args, MyApp . class);
5352 }
5453}
5554```
5655
5756** MyApp.java:**
5857``` java
59- import fr.traqueur.bootstrap.BootstrapApplication ;
60- import net.dv8tion.jda.api.JDA ;
61- import net.dv8tion.jda.api.JDABuilder ;
6258
6359public class MyApp implements DynamicApplication {
6460 private JDA jda; // You can use dynamic dependency types directly!
@@ -84,14 +80,14 @@ On first run, dependencies will be downloaded to `.dynamic-loader/cache/`.
8480
8581### Build Time
8682
87- 1 . The Gradle plugin creates a ` dynamic ` configuration extending ` compileOnly `
83+ 1 . The Gradle plugin creates a ` boostrap ` configuration extending ` compileOnly `
88842 . Dynamic dependencies are available during compilation
89- 3 . A manifest file ` META-INF/dynamic -dependencies.json ` is generated
85+ 3 . A manifest file ` META-INF/bootstrap -dependencies.json ` is generated
90864 . Dynamic dependencies are ** excluded** from the JAR
9187
9288### Runtime
9389
94- 1 . ` DynamicLoader .bootstrap()` loads the manifest
90+ 1 . ` BootstrapLoader .bootstrap()` loads the manifest
95912 . Maven Resolver downloads dependencies and their transitive dependencies
96923 . An ** IsolatedClassLoader** (child-first) is created with the dependencies
97934 . Your application class is loaded and instantiated via the isolated ClassLoader
@@ -113,7 +109,7 @@ This is crucial for allowing your application classes to reference types from dy
113109For more control over initialization:
114110
115111``` java
116- DynamicLoader . bootstrap(args, ctx - > {
112+ BootstrapLoader . bootstrap(args, ctx - > {
117113 MyApp app = ctx. create(MyApp . class);
118114
119115 // Access the ClassLoader
@@ -132,10 +128,10 @@ Via system property or environment variable:
132128
133129``` bash
134130# System property
135- java -Ddynamicloader .cache.dir=/custom/cache -jar app.jar
131+ java -Dbootstraploader .cache.dir=/custom/cache -jar app.jar
136132
137133# Environment variable
138- export DYNAMIC_LOADER_CACHE_DIR =/custom/cache
134+ export BOOTSTRAP_LOADER_CACHE_DIR =/custom/cache
139135java -jar app.jar
140136```
141137
@@ -159,9 +155,9 @@ These repositories are included in the generated manifest.
159155```
160156Bootstrap/
161157├── bootstrap-core/ # Runtime library (Java 21)
162- │ ├── DynamicLoader .java # Main entry point
163- │ ├── DynamicApplication .java # Simple interface
164- │ ├── DynamicEntrypoint .java # Callback interface
158+ │ ├── BootstrapLoader .java # Main entry point
159+ │ ├── BootstrapApplication .java # Simple interface
160+ │ ├── BootstrapEntrypoint .java # Callback interface
165161│ ├── config/
166162│ │ └── DependencyManifest.java # JSON parser
167163│ ├── loader/
@@ -172,16 +168,16 @@ Bootstrap/
172168│ └── SimpleTransferListener.java
173169│
174170├── bootstrap-gradle/ # Gradle plugin (Kotlin)
175- │ ├── DynamicLoaderPlugin .kt
176- │ ├── DynamicLoaderExtension .kt
171+ │ ├── BootstrapLoaderPlugin .kt
172+ │ ├── BootstrapLoaderExtension .kt
177173│ └── GenerateDynamicManifestTask.kt
178174│
179175└── example/ # Discord bot example
180176```
181177
182178## Manifest Format
183179
184- ** META-INF/dynamic -dependencies.json:**
180+ ** META-INF/bootstrap -dependencies.json:**
185181``` json
186182{
187183 "dependencies" : [
0 commit comments