Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Use Equo Solstice to calculate and download eclipse dependencies #1524

Merged
merged 50 commits into from
Mar 13, 2023

Conversation

nedtwigg
Copy link
Member

Equo Solstice is

  • a "fake" OSGi runtime originally inspired by our _ext/spotless-base
  • a p2 client that can calculate p2 transitive deps so that we don't need to make lockfiles
  • a p2 client that can download p2 transitive deps so that we don't need to make far jars

This PR has a couple weeks ahead before it will be ready to merge, but I wanted to share it now so that people know that all the Eclipse formatters are about to have their latest versions supported again.

@blacelle
Copy link
Contributor

blacelle commented Feb 6, 2023

a p2 client that can calculate p2 transitive deps so that we don't need to make lockfiles

I'm not sure how this will work in the end. In other cases, I relied on https://github.com/jmini/ecentral/tree/master/repo/fr/jmini/ecentral/eclipse-platform-dependencies (i.e. equivalent of lockfiles) as the transitive resolution was not satisfactory (i.e. it led to various conflicts needing explicit version-fixing).

@nedtwigg nedtwigg marked this pull request as ready for review March 13, 2023 09:16
@nedtwigg nedtwigg merged commit 3283720 into main Mar 13, 2023
@nedtwigg nedtwigg deleted the feat/equo-solstice branch March 13, 2023 09:32
@nedtwigg
Copy link
Member Author

Published in plugin-maven 2.35.0 and plugin-gradle 6.17.0.

@jochenberger
Copy link
Contributor

This change causes issues in our CI build.
I'm getting

   > Could not create task ':spotlessGroovyGradle'.
      > Need to create directory first! /gradle-home/daemon/8.1/?/.equo/p2-queries

I think that the problem is that it tries to create the .equo directory in the user home, not in the Gradle home. I this something that I can change or even something that should be changed in the Spotless Gradle plugin itself?

@jochenberger
Copy link
Contributor

Curiously, the directory /gradle-home/daemon/8.1/?/.equo/p2-queries does seem to exist.

@jochenberger
Copy link
Contributor

The stacktrace contains this

Caused by: java.lang.IllegalArgumentException: Need to create directory first! /gradle-home/daemon/8.1/?/.equo/p2-queries
	at dev.equo.solstice.p2.FileMisc.writeToken(FileMisc.java:77)
	at dev.equo.solstice.p2.QueryCacheOnDisk.<init>(QueryCacheOnDisk.java:34)
	at dev.equo.solstice.p2.P2Model.query(P2Model.java:118)
	at com.diffplug.spotless.extra.EquoBasedStepBuilder.get(EquoBasedStepBuilder.java:103)

Maybe the question mark in the path stumps FileMisc?

benkard pushed a commit to benkard/mulkcms2 that referenced this pull request Aug 7, 2023
This MR contains the following updates:

| Package | Type | Update | Change |
|---|---|---|---|
| [flow-bin](https://github.com/flowtype/flow-bin) ([changelog](https://github.com/facebook/flow/blob/master/Changelog.md)) | devDependencies | minor | [`^0.206.0` -> `^0.214.0`](https://renovatebot.com/diffs/npm/flow-bin/0.206.0/0.214.0) |
| [org.liquibase.ext:liquibase-hibernate5](https://github.com/liquibase/liquibase-hibernate/wiki) ([source](https://github.com/liquibase/liquibase-hibernate)) | build | minor | `4.21.1` -> `4.22.0` |
| [org.liquibase:liquibase-maven-plugin](http://www.liquibase.org/liquibase-maven-plugin) ([source](https://github.com/liquibase/liquibase)) | build | minor | `4.21.1` -> `4.23.0` |
| [com.vladsch.flexmark:flexmark-all](https://github.com/vsch/flexmark-java) | compile | patch | `0.64.4` -> `0.64.8` |
| [com.diffplug.spotless:spotless-maven-plugin](https://github.com/diffplug/spotless) | build | minor | `2.36.0` -> `2.38.0` |

---

### Release Notes

<details>
<summary>flowtype/flow-bin</summary>

### [`v0.214.0`](flow/flow-bin@a8d35e6...ca11e28)

[Compare Source](flow/flow-bin@a8d35e6...ca11e28)

### [`v0.213.1`](flow/flow-bin@656b64a...a8d35e6)

[Compare Source](flow/flow-bin@656b64a...a8d35e6)

### [`v0.213.0`](flow/flow-bin@733e908...656b64a)

[Compare Source](flow/flow-bin@733e908...656b64a)

### [`v0.212.0`](flow/flow-bin@d057186...733e908)

[Compare Source](flow/flow-bin@d057186...733e908)

### [`v0.211.1`](flow/flow-bin@669f2d7...d057186)

[Compare Source](flow/flow-bin@669f2d7...d057186)

### [`v0.211.0`](flow/flow-bin@c0f5f12...669f2d7)

[Compare Source](flow/flow-bin@c0f5f12...669f2d7)

### [`v0.210.2`](flow/flow-bin@6dbf435...c0f5f12)

[Compare Source](flow/flow-bin@6dbf435...c0f5f12)

### [`v0.210.1`](flow/flow-bin@572b4ff...6dbf435)

[Compare Source](flow/flow-bin@572b4ff...6dbf435)

### [`v0.210.0`](flow/flow-bin@026a117...572b4ff)

[Compare Source](flow/flow-bin@026a117...572b4ff)

### [`v0.209.0`](flow/flow-bin@b1689a0...026a117)

[Compare Source](flow/flow-bin@b1689a0...026a117)

### [`v0.208.1`](flow/flow-bin@1e8564c...b1689a0)

[Compare Source](flow/flow-bin@1e8564c...b1689a0)

### [`v0.208.0`](flow/flow-bin@97db57b...1e8564c)

[Compare Source](flow/flow-bin@97db57b...1e8564c)

### [`v0.207.0`](flow/flow-bin@7bf1c0e...97db57b)

[Compare Source](flow/flow-bin@7bf1c0e...97db57b)

</details>

<details>
<summary>liquibase/liquibase-hibernate</summary>

### [`v4.22.0`](https://github.com/liquibase/liquibase-hibernate/releases/tag/v4.22.0)

[Compare Source](liquibase/liquibase-hibernate@v4.21.1...v4.22.0)

Support for Liquibase 4.22.0.

#### What's Changed

-   Fix diff changelog is removing unique constraint since 4.21.0 (hibernate6 + postgresql) by [@&#8203;filipelautert](https://github.com/filipelautert) in liquibase/liquibase-hibernate#480
-   add Support for Hibernate EnversSettings revision_field_name and revision_type_field_name by [@&#8203;lorenzbaier](https://github.com/lorenzbaier) in liquibase/liquibase-hibernate#488
-   Bump spring.version from 6.0.8 to 6.0.9 by [@&#8203;dependabot](https://github.com/dependabot) in liquibase/liquibase-hibernate#490

#### New Contributors

-   [@&#8203;lorenzbaier](https://github.com/lorenzbaier) made their first contribution in liquibase/liquibase-hibernate#488

**Full Changelog**: liquibase/liquibase-hibernate@v4.21.0...v4.22.0

</details>

<details>
<summary>liquibase/liquibase</summary>

### [`v4.23.0`](https://github.com/liquibase/liquibase/blob/HEAD/changelog.txt#Liquibase-4230-is-a-major-release)

[Compare Source](liquibase/liquibase@v4.22.0...v4.23.0)

### [`v4.22.0`](https://github.com/liquibase/liquibase/blob/HEAD/changelog.txt#Liquibase-v4220-is-a-major-release)

[Compare Source](liquibase/liquibase@v4.21.1...v4.22.0)

</details>

<details>
<summary>vsch/flexmark-java</summary>

### [`v0.64.6`](vsch/flexmark-java@0.64.4...0.64.6)

[Compare Source](vsch/flexmark-java@0.64.4...0.64.6)

</details>

<details>
<summary>diffplug/spotless</summary>

### [`v2.38.0`](https://github.com/diffplug/spotless/blob/HEAD/CHANGES.md#&#8203;2380---2023-04-06)

##### Added

-   Support configuration of mirrors for P2 repositories in `EquoBasedStepBuilder` ([#&#8203;1629](diffplug/spotless#1629)).
-   The `style` option in Palantir Java Format ([#&#8203;1654](diffplug/spotless#1654)).
-   Added formatter for Gherkin feature files ([#&#8203;1649](diffplug/spotless#1649)).

##### Changes

-   **POTENTIALLY BREAKING** Converted `googleJavaFormat` to a compile-only dependency and drop support for versions < `1.8`. ([#&#8203;1630](diffplug/spotless#1630))
-   Bump default `cleanthat` version to latest `2.6` -> `2.13`. ([#&#8203;1589](diffplug/spotless#1589) and [#&#8203;1661](diffplug/spotless#1661))
-   Bump default `diktat` version `1.2.4.2` -> `1.2.5`. ([#&#8203;1631](diffplug/spotless#1631))
-   Bump default `flexmark` version `0.62.2` -> `0.64.0`. ([#&#8203;1302](diffplug/spotless#1302))
-   Bump default `googleJavaFormat` version `1.15.0` -> `1.16.0`. ([#&#8203;1630](diffplug/spotless#1630))
-   Bump default `scalafmt` version `3.7.1` -> `3.7.3`. ([#&#8203;1584](diffplug/spotless#1584))
-   Bump default Eclipse formatters for the 2023-03 release. ([#&#8203;1662](diffplug/spotless#1662))
    -   JDT and GrEclipse `4.26` -> `4.27`
        -   Improve GrEclipse error reporting. ([#&#8203;1660](diffplug/spotless#1660))
    -   CDT `11.0` -> `11.1`

### [`v2.37.0`](https://github.com/diffplug/spotless/blob/HEAD/CHANGES.md#&#8203;2370---2023-03-13)

##### Added

-   You can now put the filename into a license header template with `$FILE`. ([#&#8203;1605](diffplug/spotless#1605) fixes [#&#8203;1147](diffplug/spotless#1147))

##### Changes

-   We are now opting in to Gradle's new stable configuration cache. ([#&#8203;1591](diffplug/spotless#1591))
-   Adopt [Equo Solstice OSGi and p2 shim](https://github.com/equodev/equo-ide/tree/main/solstice) to update all Eclipse-based plugins. ([#&#8203;1524](diffplug/spotless#1524))
    -   Eclipse JDT now supports `4.9` through `4.26`. Also we now recommend dropping the last `.0`, e.g. `4.26` instead of `4.26.0`, you'll get warnings to help you switch.
    -   Eclipse Groovy now supports `4.18` through `4.26`. Also we now recommend dropping the last `.0`, e.g. `4.26` instead of `4.26.0`, you'll get warnings to help you switch.
    -   Eclipse CDT now supports `10.6` through `11.0`.
    -   Eclipse WTP is still WIP at [#&#8203;1622](diffplug/spotless#1622).

</details>

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

🚦 **Automerge**: Enabled.

♻ **Rebasing**: Whenever MR is behind base branch, or you tick the rebase/retry checkbox.

👻 **Immortal**: This MR will be recreated if closed unmerged. Get [config help](https://github.com/renovatebot/renovate/discussions) if that's undesired.

---

 - [ ] <!-- rebase-check -->If you want to rebase/retry this MR, check this box

---

This MR has been generated by [Renovate Bot](https://github.com/renovatebot/renovate).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNC4yNC4wIiwidXBkYXRlZEluVmVyIjoiMzQuMjQuMCJ9-->
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

4 participants