apache / apache/lucene

more artifact inconsistencies [LUCENE-4681]

Open
#5,746 2 comments 0 reactions 0 assignees View on GitHub
legacy-jira-priority:Major tool:build type:bug
Dominant language
Java
Stars
3.6k
Forks
1.4k
Avg merge
2d 11h
Merged PRs (30d)
88

Description

Currently the tasks for releasing can easily create artifacts that are inconsistent with each other:
- the source releases (package-tgz-src) targets trigger an svn checkout to ensure the source release has no local modifications or extra files (even svn:ignore'd).
- the binary releases (and maven source/javadoc/binary artifacts too?) unfortunately are not built from this source release, which can differ than the local version.
- users who want to make their own release have to run special source targets (package-local-src-tgz) to make source tgs built from their actual checkout.

I think this can be safer and simpler.

Instead of these special source targets: imagine a prepare-release and a prepare-release-local (or swap it around and have prepare-official-release and prepare-release, i actually like that better, but it doesnt matter).

prepare-official-release would just do an svn:checkout and subant "prepare-release" from that checkout.

this way we know all artifacts are from the same consistent source.

---
Migrated from [LUCENE-4681](https://issues.apache.org/jira/browse/LUCENE-4681) by Robert Muir (@rmuir)

Contributor guide

Open the contributing guide

Research direction

Trace the package-tgz-src and package-local-src-tgz release targets, along with the binary and Maven source, Javadoc, and binary artifact tasks. Check how the SVN checkout and subant invocation currently work, then define the proposed prepare-official-release and prepare-release flow so every artifact comes from one consistent source checkout. Done means the official and local release paths produce consistent artifacts without the special source targets.

Written by the indexing model from the issue text.

Assessment

Tech stack
java
Domain
build-system, release
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.