FreeSource: AltLinux/Policy/Java

Эта страница была перенесена на altlinux.org. Текст на freesource.info заморожен.

ALT Linux Java Policy: Требования к сборке java-приложений

Необходимо соблюдать JPackage Policy

При упаковке приложений для сизифа необходимо соблюдать JPackage Policy.

Ознакомиться с JPackage Policy можно в следующих местах:

Оригинал JPackagePolicy — можно найти в пакете jpackage-utils (в сизифе или на www.jpackage.org )

Перевод JPackagePolicy на русский.

JPackage Spec Template — шаблон spec-файла для java-приложений, адаптированный для сизифа.

см. также Использование Class-Path в MANIFEST.MF

Необходимо обеспечивать максимальную запускаемость на разных JVM

11.03.2006

mhz@ сообщает: В связи с появлением в Sisyphus пакетов j2se1.5-sun{,-devel}, которые теперь

выбираются по умолчанию в сборочной среде, появилась новая особенность при сборке пакетов на Java.

Компилятор JDK 1.5 по умолчанию создает class-файлы, несовместимые с ранними версиями J2SE.

Поэтому необходимо следить, чтобы в сборочных скриптах для ant или make компилятор вызывался

с параметрами source и target в значении 1.3 или меньше (т.к. у нас в Sisyphus есть еще j2se1.3-sun),

если код не требует иного. Если в коде используется ключевое слово assert, нужно ставить как

минимум 1.4; пакетов, использующих нововведения Java SE 5, в Sisyphus пока не отмечено.

viy: это актуально всегда, только сейчас у нас наименьшая JVM — это java-1.5.0 sun.

соответственно, фраза выглядит теперь так: source и target в значении 1.5 или меньше.

если пакет использует нововведения Java SE 6, то source и target в значении 1.6 (Не злоупотреблять. только если код написан под Java 6).

пакетов, использующих нововведения Java SE 7 и выше, в Sisyphus пока не отмечено.

Пакеты из репозиториев jpackage.org

Не желательно собирать в Сизиф java-пакеты из репозиториев jpackage.org а также fedora.org вручную.

Для этого есть робот сопровождения. Его можно взять в git, viy/packages/jppimport.git.

Устаревшие макросы.

Макросы %ant_build %set_classpath %add_classpath объявлены устаревшими.

В пакетах конструкции вида

%set_classpath /usr/share/java/foo.jar

%add_classpath /usr/share/java/bar.jar

можно заменить на 

export CLASSPATH=$(build-classpath foo bar)

а %ant_build на %ant.

Java Packaging FAQ 

Обсуждение вопросов упаковки java пакетов в Сизифе

((/Altlinux / Policy / Java / Java Packaging FAQ )) вынесено в отдельную страницу.

Ссылки

Обсуждение определителя зависимостей и загрузчика классов

[devel] Java: no magic wand / [devel] Java: no magic wand, no magic hammer

начиная с http://lists.altlinux.org/pipermail/devel/2008-January/068361.html.