# Maven Sync Setup _Reposilite_-based Maven Repository Manager acting as a caching proxy. ## Downloading packages Run the following command: ```sh ./run.sh ``` This starts the reposilite server, then starts maven and makes download all packages defined in the pom's in the `poms/` folder, including their dependencies. These packages are then cached by reposilite in `data/`. The relevant folders are turned into tarballs and saved in the root directory. ## Adding packages New packages are added to `package-list.yaml`. Example config: ```yaml maven: # List of mirrors to query for package details. mirrors: - "https://repo.maven.apache.org/maven2" # Specify which kotlin versions to fetch. kotlin: 1.8.20: # Plugins specific to this kotlin version. See `general` section for details. plugins: com.expediagroup.graphql: ["7.0.0-alpha.5", "6.5.2"] # Packages specific to this kotlin version. See `general` section for details. packages: org.slf4j:slf4j-api: "2.1.0" # A kotlin version without specific plugins and packages. 1.8.0: {} 1.7.20: packages: org.slf4j:slf4j-api: "2.0.7" # Packages and plugins that doesn't require a specific kotlin version. general: # The kotlin version to use (doesn't matter much, use the newest stable version). _kotlin-version: "1.8.20" plugins: # Plugins are listed with their plugin ID, not the full package name. # Plugin versions can be a single version as a string, or a list of strings to fetch multiple versions. org.panteleyev.jpackageplugin: "1.5.2" packages: # Packages are listed either with their full name as a key, or split into group and artifact. # Package versions can be a single version as a string, or a list of strings to fetch multiple versions. org.jetbrains.kotlinx:kotlinx-datetime: "0.4.0" com.expediagroup: # When splitting into group and artifact, the default versions for the group can be specified. # Using an empty list as the version for an artifact implies that the default versions should be used. _versions: ["7.0.0-alpha.6", "6.5.2"] graphql-kotlin-ktor-server: ["7.0.0-alpha.6"] # Uses only the specified version graphql-kotlin-client: [] # Uses the default versions graphql-kotlin-client-generator: [] # Uses the default versions ```