Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,7 @@ nbproject
FreeCol.log
FreeCol*.jar
src/*.MF
build/
build/installer/
build/net/
doc/specification_*.html
Expand Down
3 changes: 3 additions & 0 deletions .travis.yml
Original file line number Diff line number Diff line change
Expand Up @@ -8,12 +8,15 @@ addons:
packages:
- ant-optional
before_install:
- .travis/install-sbom-tools.sh
- if [[ "$TRAVIS_BRANCH" == "master" && "$TRAVIS_EVENT_TYPE" == "cron" ]]; then .travis/merge-sourceforge.sh; fi
- if [[ "$TRAVIS_BRANCH" == "slim" && "$TRAVIS_EVENT_TYPE" == "cron" ]]; then .travis/merge-slim.sh; fi
- if [[ "$TRAVIS_BRANCH" == "master" && "$TRAVIS_EVENT_TYPE" == "cron" ]]; then .travis/deploy-sourceforge-merge.sh; fi
- if [[ "$TRAVIS_BRANCH" == "slim" && "$TRAVIS_EVENT_TYPE" == "cron" ]]; then .travis/deploy-slim-merge.sh; fi
script:
- ant testci
- if [[ "$TRAVIS_EVENT_TYPE" == "cron" ]]; then ./scripts/generate-sbom.sh; fi
- if [[ "$TRAVIS_EVENT_TYPE" == "cron" ]]; then ./scripts/scan-sbom.sh; fi
before_deploy:
- ant nightly-release
- ls -l dist/releases
Expand Down
6 changes: 6 additions & 0 deletions .travis/install-sbom-tools.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
#!/usr/bin/env bash
set -euo pipefail

curl -sSfL https://raw.githubusercontent.com/anchore/syft/main/install.sh | sh -s -- -b "$HOME/bin"
curl -sSfL https://raw.githubusercontent.com/anchore/grype/main/install.sh | sh -s -- -b "$HOME/bin"
export PATH="$HOME/bin:$PATH"
85 changes: 78 additions & 7 deletions build.xml
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
<!-- This file includes targets for building FreeCol,
the metaserver, distribution packages, running tests
and creating documentation. -->
<project name="FreeCol" default="package">
<project name="FreeCol" default="package" xmlns:jacoco="antlib:org.jacoco.ant">
<description>
This file includes targets for building FreeCol,
the metaserver, distribution packages, running tests
Expand Down Expand Up @@ -33,6 +33,10 @@
value="jars/miglayout-core-5.3.jar"/>
<property name="cli.jar" value="jars/commons-cli-1.4.jar"/>
<property name="cortado.jar" value="jars/cortado-0.6.0.jar"/>
<property name="jacoco.ant.jar" value="${basedir}/test/lib/jacocoant.jar"/>
<property name="jacoco.agent.jar" value="${basedir}/test/lib/jacoco-agent.jar"/>
<property name="jacoco.exec.file" value="${freecol.build.dir}/jacoco.exec"/>
<property name="jacoco.report.dir" value="${freecol.build.dir}/jacoco"/>


<path id="libraries.classpath">
Expand All @@ -51,6 +55,7 @@
</path>
<path id="junit.classpath">
<pathelement location="${basedir}/test/lib/junit.jar" />
<pathelement location="${basedir}/test/lib/hamcrest-core.jar" />
</path>
<path id="freecol.build.classpath">
<path refid="libraries.classpath" />
Expand All @@ -64,6 +69,16 @@
<path refid="junit.classpath"/>
<path refid="libraries.classpath" />
</path>
<path id="jacoco.ant.classpath">
<pathelement location="${jacoco.ant.jar}"/>
<pathelement location="${basedir}/test/lib/jacoco-core.jar"/>
<pathelement location="${basedir}/test/lib/jacoco-report.jar"/>
<pathelement location="${jacoco.agent.jar}"/>
<pathelement location="${basedir}/test/lib/asm.jar"/>
<pathelement location="${basedir}/test/lib/asm-commons.jar"/>
<pathelement location="${basedir}/test/lib/asm-tree.jar"/>
<pathelement location="${basedir}/test/lib/asm-analysis.jar"/>
</path>

<condition property="isOsUnixLike">
<os family="unix" />
Expand Down Expand Up @@ -91,6 +106,12 @@
classname="net.charabia.jsmoothgen.ant.JSmoothGen"
classpath="${freecol.build.dir}/jars/jsmoothgen-ant.jar"/>
</target>

<target name="define-jacoco">
<taskdef uri="antlib:org.jacoco.ant"
resource="org/jacoco/ant/antlib.xml"
classpathref="jacoco.ant.classpath"/>
</target>

<target name="init" unless="TSTAMP">
<tstamp/>
Expand All @@ -106,8 +127,7 @@
debug="on"
optimize="on"
deprecation="off"
source="${java.target.version}"
target="${java.target.version}"
release="${java.target.version}"
includeantruntime="false">
<compilerarg value="-Xlint:unchecked"/>
<compilerarg value="-Xlint:deprecation"/>
Expand All @@ -125,8 +145,7 @@
debug="on"
optimize="on"
deprecation="off"
source="${java.target.version}"
target="${java.target.version}"
release="${java.target.version}"
includeantruntime="false">
<compilerarg value="-Xlint:unchecked"/>
<compilerarg value="-Xlint:deprecation"/>
Expand Down Expand Up @@ -702,6 +721,7 @@
private="true"
classpathref="freecol.build.classpath"
Author="true"
additionalparam="-Xdoclint:all,-missing"
Windowtitle="FreeCol Code Documentation"/>
<echo message="" />
<echo message="-------------------------------------------------"/>
Expand Down Expand Up @@ -788,6 +808,58 @@

<fail if="error.junit" message="Automated Unit Tests failed."/>
</target>

<target name="coverage" depends="build-unit-tests,define-jacoco"
description="Runs all unit tests with JaCoCo coverage">
<delete file="${jacoco.exec.file}" />
<delete dir="${jacoco.report.dir}" />
<mkdir dir="${jacoco.report.dir}"/>
<mkdir dir="${freecol.build.dir}/report"/>
<mkdir dir="${freecol.build.dir}/report/xml"/>

<jacoco:coverage destfile="${jacoco.exec.file}"
includes="net.sf.freecol.*"
excludes="net.sf.freecol.tools.*">
<junit printsummary="on" errorProperty="error.junit"
failureProperty="error.junit" fork="yes" maxmemory="256M">
<classpath refid="test.run.classpath"/>
<formatter type="xml" />
<test todir="${freecol.build.dir}/report/xml"
name="net.sf.freecol.AllTests" fork="yes"/>
<sysproperty key="java.awt.headless" value="true" />
</junit>
</jacoco:coverage>

<junitreport>
<fileset dir="${freecol.build.dir}/report/xml">
<include name="TEST-*.xml"/>
</fileset>
<report todir="${freecol.build.dir}/report" />
</junitreport>

<jacoco:report>
<executiondata>
<file file="${jacoco.exec.file}"/>
</executiondata>
<structure name="FreeCol">
<classfiles>
<fileset dir="${freecol.build.dir}">
<include name="**/*.class"/>
</fileset>
</classfiles>
<sourcefiles encoding="UTF-8">
<fileset dir="${freecol.src.dir}">
<include name="**/*.java"/>
</fileset>
</sourcefiles>
</structure>
<html destdir="${jacoco.report.dir}"/>
<xml destfile="${jacoco.report.dir}/jacoco.xml"/>
</jacoco:report>

<echo message="Coverage report: ${jacoco.report.dir}/index.html"/>
<fail if="error.junit" message="Automated Unit Tests failed."/>
</target>

<!-- Run full unit test suite and fail on errors, use brief format for CI -->
<target name="testci" depends="build-unit-tests" unless="skip.dist.test"
Expand Down Expand Up @@ -820,8 +892,7 @@
debug="on"
optimize="on"
deprecation="off"
source="${java.target.version}"
target="${java.target.version}"
release="${java.target.version}"
includeantruntime="false">
<compilerarg value="-Xlint:unchecked"/>
<compilerarg value="-Xlint:deprecation"/>
Expand Down
Binary file modified build/jars/standalone-compiler.jar
Binary file not shown.
2 changes: 1 addition & 1 deletion data/strings/FreeColMessages_ar.properties
Original file line number Diff line number Diff line change
Expand Up @@ -88,7 +88,7 @@ reset=إعادة ضبط
revertToDefaults=ارجع إلى الإعدادات الافتراضية
save=حفظ
scope=نطاق
select=تحديد
select=اختر
server=الخادم
skip=تجاوز
small=صغير
Expand Down
34 changes: 17 additions & 17 deletions data/strings/FreeColMessages_be-tarask.properties
Original file line number Diff line number Diff line change
Expand Up @@ -63,7 +63,7 @@ reject=Адмовіцца
remove=Выдаліць
rename=Перайменаваць
reset=Скінуць
revertToDefaults=Скінуць на дапомныя
revertToDefaults=Вярнуць перадвызначаныя
save=Захаваць
scope=Абшар
select=Выбраць
Expand Down Expand Up @@ -185,19 +185,19 @@ cli.clientOptions=XML-файл з наладамі карыстальніцка
cli.debug-run=запусьціць N ход/хады/хадоў у бясьпечным рэжыме, з магчымасьцю захаваньня і выхаду
cli.debug-start=неадкладна пачаць новую аднакарыстальніцкую гульню
cli.debug=устанавіць рэжым наладкі FreeCol (%modes%)
cli.default-locale=устанавіць па змоўчваньні лякалізацыю (МОВА[_КРАІНА[_ВАРЫЯНТ]])
cli.default-locale=перадвызначыць лякалізацыю (МОВА[_КРАІНА[_ВАРЫЯНТ]])
cli.difficulty=задаць узровень СКЛАДАНАСЬЦІ
cli.european-count=задаць колькасьць дазволеных нацыяў (каляніяльных ЭЎРАПЕЙЦАЎ)
cli.fast=прапусьціць усе дыялёгі наладаў
cli.font=устанавіць шрыфт па змоўчваньні
cli.font=перадвызначыць шрыфт
cli.freecol-data=устанавіць ДЫРЭКТОРЫЮ зьвестак FreeCol (мае паддырэкторыю з назвай «base»)
cli.full-screen=запусьціць FreeCol у поўнаэкранным рэжыме
cli.gui-scale=маштабаваць элемэнты GUI зь неабавязковым парамэтрам SCALE (%scales%)
cli.headless=запуск без графічнага рэжыму
cli.help=паказаць гэты экран дапамогі
cli.load-savegame=загрузіць пададзены ФАЙЛ захаванай гульні
cli.log-console=накіроўваць запісы ў журнале ў кансоль у дадатак да файла
cli.log-file=устанавіць файл журнала FreeCol (па змоўчваньні FreeCol.log)
cli.log-file=устанавіць файл журнала FreeCol (перадвызначана: FreeCol.log)
cli.log-level=устанавіць узровень журнала Java у УЗРОВЕНЬ_ЖУРНАЛА
cli.meta-server=задаць АДРАС і ПОРТ мэта-сэрвэру
cli.name=пазначце ІМЯ гульца
Expand Down Expand Up @@ -839,7 +839,7 @@ clientOptions.display.name=Экран
clientOptions.display.shortDescription=Налады разрозьненьня, памеру і прадукцыйнасьці.
model.option.fullscreenDisplayMode.name=Поўнаэкранны рэжым выяўленьня
model.option.fullscreenDisplayMode.shortDescription=Разрозьненьне, частасьць абнаўленьня і бітавая глыбіня пры запуску ў поўнаэкранным рэжыме.
model.option.fullscreenDisplayMode.automatic=Дапомна
model.option.fullscreenDisplayMode.automatic=Перадвызначана
model.option.displayScaling.name=Маштабаваньне дысплэю
model.option.displayScaling.shortDescription=Вызначае памер панэляў фіксаванага памеру, такіх як міні-мапа.
model.option.displayScaling.automatic=Аўтаматычна
Expand Down Expand Up @@ -879,13 +879,13 @@ model.option.autoScroll.shortDescription=Уключыць аўтаматычну
model.option.displayCompassRose.name=Паказваць кола компаса
model.option.displayCompassRose.shortDescription=Ці паказваць кола компаса.
model.option.displayMapControls.name=Паказваць інструмэнты кіраваньня мапай
model.option.displayMapControls.shortDescription=Ці паказваць інструмэнты кіраваньня мапай па змоўчваньні.
model.option.displayMapControls.shortDescription=Ці перадвызначана паказваць інструмэнты кіраваньня мапай.
model.option.displayGrid.name=паказваць сетку
model.option.displayGrid.shortDescription=Ці паказваць сетку па змоўчваньні.
model.option.displayGrid.shortDescription=Ці перадвызначана паказваць сетку.
model.option.displayBorders.name=Паказваць межы
model.option.displayBorders.shortDescription=Ці паказваць межы па змоўчваньні.
model.option.displayBorders.shortDescription=Ці перадвызначана паказваць межы.
model.option.displayFogOfWar.name=Паказваць туман вайны
model.option.displayFogOfWar.shortDescription=Паказваць туман вайны на клетках па-за клеткамі бачнасьці Вашых адзінак.
model.option.displayFogOfWar.shortDescription=Ці перадвызначана паказваць туман вайны на клетках па-за клеткамі бачнасьці вашых адзінак.
model.option.unitLastMoveDelay.name=Затрымка апошняга руху адзінкі
model.option.unitLastMoveDelay.shortDescription=Ці рабіць кароткую затрымку на апошнім руху адзінкі.
model.option.usePixmaps.name=Выкарыстоўваць піксэльныя мапы для захаваньня выяваў
Expand Down Expand Up @@ -953,8 +953,8 @@ clientOptions.gui.colonyComparator.bySize.name=Памер
clientOptions.gui.colonyComparator.bySize.shortDescription=Ад найвялікшага да найменшага
clientOptions.gui.colonyComparator.bySoL.name=Сыны Волі
clientOptions.gui.colonyComparator.bySoL.shortDescription=Сартаваць паводле зьмяншэньня свабоды
model.option.defaultZoomLevel.name=Маштаб па змоўчваньні
model.option.defaultZoomLevel.shortDescription=Які маштаб ужываецца для мініятурнай мапы па змоўчваньні
model.option.defaultZoomLevel.name=Перадвызначаны маштаб
model.option.defaultZoomLevel.shortDescription=Які перадвызначаны маштаб ужываецца для мініятурнай мапы.
model.option.graphicsQuality.name=Якасьць рэндэрынгу графікі
model.option.graphicsQuality.shortDescription=Задае якасьць пры візуалізацыі графікі. Выбар вышэйшай якасьці можа спрычыніць дзёрганьне анімацыі і/або затрымкі пры націсканьні на мапу.
clientOptions.gui.graphicsQuality.lowest=Найніжэйшая
Expand Down Expand Up @@ -1075,8 +1075,8 @@ model.option.lastTurnName.shortDescription=Аснова для назвы фай
model.option.beforeLastTurnName.name=Назва файлу перад апошнім ходам
model.option.beforeLastTurnName.shortDescription=Аснова для назвы файлу захаваньня перад апошнім ходам.
clientOptions.warehouse.name=Устаноўкі сховішча
clientOptions.warehouse.shortDescription=Зьмяняе устаноўкі па змоўчваньні для сховішчаў і мытняў.
model.option.customStock.name=Велічыня мытні па змоўчваньні
clientOptions.warehouse.shortDescription=Зьмяняе перадвызначаныя налады для сховішчаў і мытняў.
model.option.customStock.name=Перадвызначаная велічыня мытні
model.option.customStock.shortDescription=Колькасьць тавараў, якая пакідаецца ў мытні пры іх продажы.
model.option.lowLevel.name=Папярэджаньне пра нізкі ўзровень
model.option.lowLevel.shortDescription=Папярэджваць, калі колькасьць тавараў будзе ніжэй гэтага ўзроўню.
Expand Down Expand Up @@ -1750,7 +1750,7 @@ model.resource.tobacco.description=Глеба гэтых лугоў выдатн
model.role.name=Роля
model.role.armedBrave.name=Узброены сьмялец
model.role.cavalry.name=Кавалерыя
model.role.default.name=Дапомна
model.role.default.name=Перадвызначана
model.role.dragoon.name=Драгун
model.role.dragoon.noequipment=няма мушкетаў
model.role.infantry.name=Пяхота
Expand Down Expand Up @@ -1791,7 +1791,7 @@ model.settlement.city.plural=Горад
model.settlement.colony.capital.name=Калёнія
model.settlement.colony.name=Калёнія
model.settlement.colony.plural=калёніі
model.settlement.default.name=Дапомна
model.settlement.default.name=Перадвызначана
model.settlement.inca.capital.name=Горад інкаў
model.settlement.inca.name=Горад інкаў
model.settlement.inca.plural=гарады
Expand Down Expand Up @@ -2125,7 +2125,7 @@ model.nation.austrian.name={{tag:|country=Аўстрыя|people=Аўстрыйц
model.advantages.none.name=Няма
model.advantages.none.shortDescription=Ніякіх перавагаў для якіх-кольвек нацыяў. Галоўным чынам прызначанае для шматкарыстальніцкіх гульняў.
model.advantages.fixed.name=Фіксавана
model.advantages.fixed.shortDescription=Усе нацыі карыстаюцца сваімі дапомнымі перавагамі. Гэта патрэбна дзеля эмуляцыі арыгінальнай гульні.
model.advantages.fixed.shortDescription=Усе нацыі карыстаюцца сваімі перадвызначанымі перавагамі. Гэта патрэбна для эмуляцыі арыгінальнай гульні.
model.advantages.selectable.name=На выбар
model.advantages.selectable.shortDescription=Перавагі нацыяў можна абіраць, яны могуць быць неўнікальнымі.
model.nationState.aiOnly.name=толькі кампутар
Expand Down Expand Up @@ -2671,7 +2671,7 @@ colopedia.goods.madeFrom=Вырабляецца з:
colopedia.goods.makes=Выкарыстоўваецца для вытворчасьці:
colopedia.goods.units=Адзінкі:
colopedia.nation.currentAdvantage=Цяперашняя перавага:
colopedia.nation.defaultAdvantage=Перавага па змоўчваньні:
colopedia.nation.defaultAdvantage=Перадвызначаная перавага:
colopedia.nation.ruler=Уладар:
colopedia.nationType.aggressionLevel.average=Сярэдняя
colopedia.nationType.aggressionLevel.high=Высокая
Expand Down
Loading