summaryrefslogtreecommitdiff
path: root/buildSrc/src
AgeCommit message (Collapse)Author
2025-07-22Updated workload schema (#360)Dante Niewenhuis
2025-03-20Adds load shifting over time (#319)Sacheendra Talluri
* Start time shifting * Existing experiments work with new columns * Remove unused traces dir * Update java to 21 LTS and jacoco to be compatible * Minimal working timeshifting * Timeshift scheduler linked as carbon receiver * Add basic tests for timeshift scheduler * Run spotless apply * Modify tarce format tests to support new fields * Change all mentions of java 19 to 21 * Add a deferAll option to workload to make all tasks deferrable * Run spotless apply * Copy traces from resources in web dockerfile
2024-10-29Updated all floats to Doubles (#257)Dante Niewenhuis
* Updated tests Changed all floats into doubles to have consistency over the whole framework Made a small update to the multiplexer to better push through supply and demand Fixed small typo Updated M3SA paths. fixed merge conflicts Removed unused components. Updated tests. Improved checkpointing model Improved model, started with SimPowerSource implemented FailureModels and Checkpointing First working version midway commit first update All simulation are now run with a single CPU and single MemoryUnit. multi CPUs are combined into one. This is for performance and explainability. * Updated test memory
2024-03-05Updated package versions, updated web server tests. (#207)Dante Niewenhuis
* Updated all package versions including kotlin. Updated all web-server tests to run. * Changed the java version of the tests. OpenDC now only supports java 19. * small update * test update * new update * updated docker version to 19 * updated docker version to 19
2023-02-01refactor(web/server): Convert resources to JavaFabian Mastenbroek
This change converts the resource classes of the OpenDC web server to use Java, The Quarkus integration for Java is more mature and the programming quality of experience is not that much worse.
2022-11-13build: Make use of Gradle's Java Toolchains featureFabian Mastenbroek
This change updates the build configuration for Gradle to make use of its Java Toolchains feature which enables running/testing multiple Java versions at the same time. This feature can also provision a Java installation if it is not available on the user's system.
2022-11-04build: Increase minimum Java version to Java 17Fabian Mastenbroek
This change updates the Gradle configuration to target Java 17 (instead of Java 11) as the lowest denominator when running/building OpenDC. This version of Java has been available for more than a year and is the latest LTS release.
2022-10-28build: Store method parameters in class filesFabian Mastenbroek
This change updates the build configuration to enable Java to emit method parameter information in the class files. This provides more useful error messages when not enough parameters are given.
2022-10-06build: Switch to Spotless for formattingFabian Mastenbroek
This change updates the build configuration to use Spotless for code formating of both Kotlin and Java.
2022-10-06build: Remove unused distribution conventionsFabian Mastenbroek
This change removes the distribution conventions used by the root project of OpenDC. Previously, we used this to build a single distribution for OpenDC containing the experiment uberjars and scripts to start OpenDC. However, with the introduction of the Quarkus-based web server, we have decided to split releases into (potentially) multiple distributions (e.g., one for the web server, one for just the web runner, etc.). Furthermore, the implementation of this convention caused issues with several other Gradle plugins.
2022-10-06build: Update simulator dependenciesFabian Mastenbroek
This change updates the simulator dependencies to the latest available version where possible.
2022-06-23build: Update simulator dependenciesFabian Mastenbroek
This change updates the simulator dependencies to the latest available version where possible.
2022-05-16build: Update simulator dependenciesFabian Mastenbroek
This change updates the simulator dependencies to the latest available version where possible.
2022-05-06refactor(harness): Remove OpenDC Harness modulesFabian Mastenbroek
This change removes the OpenDC Harness modules from the main repository. We have made the decision to take a different direction regarding the specification and execution of experiments. The design of the current harness does not integrate well with the specification of experiments in the web interface. The new version focuses on proper integration with the web interface, as well as via the command line interface.
2022-04-23build: Enable testing for all library modulesFabian Mastenbroek
This change updates the Gradle build configuration to ensure that all library modules (that will be published) use testing and are included in coverage reports. This should ensure the public modules remain well tested.
2022-04-22build(web/api): Move Quarkus build configuration into buildSrcFabian Mastenbroek
This change moves most of the Quarkus build configuration into buildSrc so it can possibly be re-used for other modules.
2022-04-22build: Include Quarkus tests in aggregated JaCoCo test reportFabian Mastenbroek
This change fixes an issue where the results of the Quarkus tests where not included in the aggregated JaCoCo test report, due to it not using the official Gradle JaCoCo plugin. This change defines a new configuration that exposes the execution data generated by Quarkus to the aggregation plugin.
2022-04-21build: Use JaCoCo 0.8.8Fabian Mastenbroek
This change updates the build script to use JaCoCo 0.8.8 for code coverage instrumentation. This version adds support for Java 18 classes.
2022-04-05feat(web/ui): Add extension for serving OpenDC web UIFabian Mastenbroek
This change adds a new Quarkus extension that is able to serve the OpenDC web interface via the Quarkus deployment of OpenDC.
2022-04-05build(web/ui): Support building WebJar for OpenDC web UIFabian Mastenbroek
This change updates the build process to build a static WebJar out of the OpenDC web UI module. This allows us to embed the UI inside the development distribution of OpenDC for other users to readily deploy it.
2022-04-05build: Update to Kotlin 1.6.20Fabian Mastenbroek
2022-04-04ci: Fix JaCoCo report aggregationFabian Mastenbroek
This change updates the build script to fix the aggregation step for the JaCoCo coverage reports that are submitted to Codecov. Previously, not all modules were properly included in the report.
2022-04-04build: Move build dependencies into version catalogFabian Mastenbroek
This change moves build dependencies used by Gradle into the version catalog to ensure a single location for all dependency versions.
2021-11-24build: Update to Kotlin 1.6Fabian Mastenbroek
This change updates the build process to use Kotlin 1.6.0.
2021-10-25build(jmh): Fix duplicate classpath entriesFabian Mastenbroek
This change fixes an issue with the JMH plugin where entries would be included twice on the classpath or entries that did not belong on the classpath were also included.
2021-10-03build: Migrate from kotlinx-benchmark to jmh-gradleFabian Mastenbroek
This change updates the project to use jmh-gradle for benchmarking as opposed to kotlinx-benchmark. Both plugins use JMH under the hood, but jmh-gradle offers more options for profiling and seems to be beter maintained.
2021-09-28build: Increase Java requirement to version 11Fabian Mastenbroek
This change updates the Gradle configuration to target Java 11 (instead of Java 8) as the lowest denominator when building OpenDC. Since the project has not yet been adopted by (many) other applications, we should not restrict the project to such an old Java version.
2021-09-02build: Update to Gradle 7.2Fabian Mastenbroek
This change updates the Gradle version of the supplied Gradle wrapper to version 7.2. * Update Gradle to version 7.2 * Address incompatibilities with version catalog * Remove opendc-format module.
2021-06-24simulator: Re-implement performance interference modelFabian Mastenbroek
This change updates reimplements the performance interference model to work on top of the universal resource model in `opendc-simulator-resources`. This enables us to model interference and performance variability of other resources such as disk or network in the future.
2021-06-17build: Update dependenciesFabian Mastenbroek
This change updates the project dependencies to follow the latest available version where possible.
2021-06-15build: Upgrade to Gradle 7.1Fabian Mastenbroek
This change upgrades the Gradle build system to version 7.1.
2021-05-18build: Update Jacoco to version 0.8.7Fabian Mastenbroek
This change updates the Gradle build configuration to use Jacoco 0.8.7, which is necessary for Kotlin 1.5.0 to work nicely with Jacoco.
2021-05-18build: Update to Kotlin 1.5.0Fabian Mastenbroek
2021-05-10build: Publish Java Platform on Maven CentralFabian Mastenbroek
This change updates the build configuration to also publish the Java Platform on Maven Central. This is necessary since the other modules depend on the platform.
2021-05-07build: Access version catalog from buildSrcFabian Mastenbroek
This change adds a workaround to the build configuration so that we can access the version catalog from pre-compiled scripts in buildSrc. In this way, we can use the version catalog everywhere. This workaround is necessary until https://github.com/gradle/gradle/issues/15383 is fixed.
2021-05-06build: Prevent publishing application modulesFabian Mastenbroek
This change updates the Gradle build configuration so that the application modules (as opposed the libraries) are not published onto Maven Central.
2021-05-06build: Add support for publishing to Maven CentralFabian Mastenbroek
This change adds support for publishing OpenDC to Maven Central. This allows other people to develop with OpenDC without needing to build the entire project themselves.
2021-05-05exp: Include experiments in main distributionFabian Mastenbroek
This change updates the Gradle configuration to include experiments in the main distribution of OpenDC. Users can directly execute the experiments from the command-line without having to recompile the entire code-base.
2021-05-05exp: Add support for experiment configurationFabian Mastenbroek
This change adds support for configuring the experiments via configuration files using the TypeSafe config library. In the future, we will also integrate support for configuration into the harness.
2021-05-05harness: Split harness into separate modulesFabian Mastenbroek
This change splits the OpenDC Experiment Harness into separate modules. This prevents users from pulling in unnecessary dependencies when depending on the harness API.
2021-05-03build: Migrate to Dokka 1.4.32Fabian Mastenbroek
This change migrates Dokka, the documentation generation tool for Kotlin, to version 1.4.32. This is a significant upgrade over the previous version which should support multiple modules as well as multiple output formats.
2021-05-03build: Add support for distribution packagingFabian Mastenbroek
This change configures the Distribution plugin for the root project and aggregates the artifacts of the other projects to generate a single distribution file containing all libraries and binaries.
2021-04-25build: Migrate to flat project structureFabian Mastenbroek
This change updates the project structure to become flattened. Previously, the simulator, frontend and API each lived into their own directory. With this change, all modules of the project live in the top-level directory of the repository. This should improve discoverability of modules of the project.