# 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 configurations of kotlin version, plugins, and packages. For most packages the kotlin version doesn't matter. configurations: # A kotlin version without specific plugins and packages. This fetches the bare minimum of # packages and plugins to be able to use that kotlin version. - kotlin-version: "1.7.20" - kotlin-version: "1.8.20" # Plugins specific to this kotlin version, 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. plugins: com.expediagroup.graphql: ["7.0.0-alpha.5", "6.5.2"] org.panteleyev.jpackageplugin: "1.5.2" # Packages specific to this kotlin version, 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. packages: org.slf4j:slf4j-api: "2.1.0" 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 ```