| Age | Commit message (Collapse) | Author |
|
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.
|
|
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.
|
|
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.
|
|
This change updates the build configuration to use Spotless for code
formating of both Kotlin and Java.
|
|
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.
|
|
This change updates the simulator dependencies to the latest available
version where possible.
|
|
This change updates the build system Gradle to version 7.5, which ships
Kotlin 1.6.21. That is the same version currently used by OpenDC and
should reduce the warning messages produced by Gradle due to version
mismatches.
|
|
This change updates the simulator dependencies to the latest available
version where possible.
|
|
This change updates the simulator dependencies to the latest available
version where possible.
|
|
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.
|
|
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.
|
|
This change moves most of the Quarkus build configuration into buildSrc
so it can possibly be re-used for other modules.
|
|
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.
|
|
This change updates the build script to use JaCoCo 0.8.8 for code
coverage instrumentation. This version adds support for Java 18 classes.
|
|
This change adds a new Quarkus extension that is able to serve the
OpenDC web interface via the Quarkus deployment of OpenDC.
|
|
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.
|
|
This change adds support for building the OpenDC web interface project
that uses Next.js using Gradle. This enables a single build pipeline
using Gradle.
|
|
|
|
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.
|
|
This change adds the initial implementation of the new API server in Kotlin,
replacing the old API written in Python. The implementation uses Quarkus,
RESTEasy, and Hibernate to implement the new API endpoints.
The reason for replacing the old API server is unifying the build and
deployment toolchains, reducing the number of technologies necessary to
work with OpenDC. Furthermore, we envision bundling the entire OpenDC
project into a single distributions, allowing users to launch their own
deployment trivially.
|
|
This change adds a unified communication protocol in form of the module
opendc-web-proto which contains the classes that form the communication
protocol of OpenDC's API v2.
By having the protocol in a separate module, we can utilize the classes
in both server and client.
|
|
This change moves build dependencies used by Gradle into the version catalog
to ensure a single location for all dependency versions.
|
|
This change updates the build script to use Kotlin 1.6.10 for building
OpenDC.
|
|
This change updates the build process to use Kotlin 1.6.0.
|
|
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
|
|
This change updates the Kotlin dependencies used by OpenDC to their
latest version.
|
|
This change updates the Kotlin version used in the Gradle build to
version 1.5.20. For more details, see
https://kotlinlang.org/docs/releases.html#release-details.
|
|
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.
|
|
This change updates the project dependencies to follow the latest
available version where possible.
|
|
This change upgrades the Gradle build system to version 7.1.
|
|
This change updates the build process to use Kotlin 1.5.10 for building
OpenDC. This new update should address some of the incompatibilities
between Gradle and Kotlin 1.5.
|
|
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.
|
|
|
|
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.
|
|
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.
|
|
This change adds support for the Gradle version catalog feature in our
build configuration. This allows us to have a single file,
gradle/libs.versions.toml, which contains all the dependency versions
used in this project.
|
|
This change updates the Gradle build configuration so that the
application modules (as opposed the libraries) are not published onto
Maven Central.
|
|
This change updates the build scripts to use type-safe project accessors
when specifying build dependencies between modules.
|
|
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.
|
|
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.
|
|
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.
|
|
This change splits the OpenDC Experiment Harness into separate modules.
This prevents users from pulling in unnecessary dependencies when
depending on the harness API.
|
|
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.
|
|
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.
|
|
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.
|