-
Notifications
You must be signed in to change notification settings - Fork 2.4k
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
Julia support #6508
Comments
First thing is: do we need a new After Finally there is the |
Hi. Starting with Julia version 1.4, it is also possible to use hyphens in the version specification of dependencies. So it is recomended to also add
to the project file when using them.
Any unspecified trailing numbers in the first end-point are considered to be zero:
Any unspecified trailing numbers in the second end-point will be considered to be wildcards:
|
I underestimated a little. First, the The I have concluded that someone more familiar with Julia needs to take over the work, but I've done some of the implementation and most of the scaffolding in https://github.com/renovatebot/renovate/compare/feat/6508-julia |
This comment was marked as outdated.
This comment was marked as outdated.
Project.toml
Typically it is not needed to manually add entries to the [deps] section; this is instead handled by Pkg operations such as add.
The Compatibility section describes the different possible compatibility constraints in detail. It is also possible to list constraints on julia itself, although julia is not listed as a dependency in the [deps] section:
Manifest.toml The Manifest.toml file is generated and maintained by Pkg and, in general, this file should never be modified manually. |
Thanks for the pointers. It seems like the The next question is:
|
Note: currently REQUIRE is no longer used |
Is there a way to make this happen? Do you need help with something? |
Yes, you can submit a PR |
Well, that escalated quickly 🙂 I don't even know where to start from as I'm not familiar at all with renovate code, maybe some guidance on what has to be done and where to look at? |
Hi there, You're asking us to support a new package manager. We need to know some basic information about this package manager first. Please copy/paste the new package manager questionnaire, and fill it out in full. Once the questionnaire is filled out we'll decide if we want to support this new manager. Good luck, The Renovate team |
Actually, the best next step would be for someone to fill out the questionnaire linked above. After that we can advise on the steps after that |
I'm sure I'm missing some details, but I gave filling out the form a stab. New package manager questionnaireDid you read our documentation on adding a package manager?
BasicsWhat's the name of the package manager?Pkg, or Pkg.jl (but Julia package are always referenced without the extension). What language(s) does this package manager support?How popular is this package manager?It is the standard package manager for the Julia language and considered one of the languages strengths. Does this language have other (competing?) package managers?
What are the big selling points for this package manager?It is the primary (and only?) package manager that supports the Julia language. Detecting package filesWhat kind of package files, and names, does this package manager use?
These files are typically located at the root of a project (with a "package" being a specific type of project). But the files may be located elsewhere as well. For instance, in the case of monorepos or to add use case specific dependencies, e.g. when running tests or creating documentation. It is important to note that each There are multiple ways of recording test dependencies. One is to record them in a dedicated A See the documentation for details on these files. Which
|
Thanks! Skimming through this, it looks like we need a new datasource, a new manager, and probably a new versioning to wrap around npm if the syntax isn't exactly the same as npm. Usually the best way to start is with the datasource, then versioning, then manager. These can be done in separate PRs one by one. However if the versioning is 90%+ close to npm's it may be ok to skip the versioning until a later stage and just document that the initial release doesn't cover ranges perfectly. Datasources are added here: https://github.com/renovatebot/renovate/tree/main/lib/modules/datasource These days we like to use Zod for validation. I think that the existing hex datasource is probably a good one to copy the concepts from |
Thanks for the pointers. This confirms my expectations for how to best deal with this. Trying to address this has been on my radar for a while, but I haven't been able to prioritize it yet. Given the renewed interest, now may be the time. I think we can coordinate within the Julia community to try and move this forward. |
`PkgServer`s are the primary package distribution system for Julia (the alternative being operating on the underlying Git repositories directly). This datasource enables retrieval of packages from registries through these `PkgServer`s. It supports multiple registries across `PkgServer`s. Julia-specific versioning is not yet implemented, this will be implemented as a follow-up. References renovatebot#6508.
Hi,
It will be awesome if
renovatebot
, could parseProject.toml
in Julia Project.Dependencies in julia could be specified in various ways :
^1.2.3
=> [1.2.3, 2.0.0)^1.2
=> [1.2.0, 2.0.0)^1
=> [1.0.0, 2.0.0)^0.2.3
=> [0.2.3, 0.3.0)^0.0.3
=> [0.0.3, 0.0.4)^0.0
=> [0.0.0, 0.1.0)^0
=> [0.0.0, 1.0.0)~1.2.3
=> [1.2.3, 1.3.0)~1.2
=> [1.2.0, 1.3.0)~1
=> [1.0.0, 2.0.0)~0.2.3
=> [0.2.3, 0.3.0)~0.0.3
=> [0.0.3, 0.0.4)~0.0
=> [0.0.0, 0.1.0)~0
=> [0.0.0, 1.0.0)>= 1.2.3
=> [1.2.3, ∞)≥ 1.2.3
=> [1.2.3, ∞)= 1.2.3
=> [1.2.3, 1.2.3]< 1.2.3
=> [0.0.0, 1.2.2]@codeneomatrix Do I forget anything according
julia
and deps management@rarkins You can find a example in https://github.com/the-benchmarker/web-frameworks/blob/e2c82e935f9038fe7a54a10d04654b31eacf8ee8/julia/merly/Project.toml#L4
Regards,
The text was updated successfully, but these errors were encountered: