Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > de.comp.lang.java > #13063

Re: Ant an Kompilation hindern?

From Patrick Roemer <sangamon@netcologne.de>
Newsgroups de.comp.lang.java
Subject Re: Ant an Kompilation hindern?
Date 2016-12-21 15:44 +0100
Organization news.netcologne.de
Message-ID <o3e4gb$btv$1@newsreader4.netcologne.de> (permalink)
References <87pokm7mab.fsf@gmx.net> <o3bm0f$lv1$1@newsreader4.netcologne.de> <87lgv978in.fsf@gmx.net>

Show all headers | View raw


Responding to Оlе Ѕtrеісhеr:
>> $ tree bin/
>> bin/
>> └── bar
>>     └── C2.class
>>
>> 1 directory, 1 file
>> </snip>
>>
>> Etwa so?
> 
> Ich bekomme hier:
> $ ls -lR bin/
> 
> bin/:
> insgesamt 8
> drwxr-xr-x 2 ole ole 4096 Dez 21 13:37 bar
> drwxr-xr-x 2 ole ole 4096 Dez 21 13:37 foo
> 
> bin/bar:
> insgesamt 4
> -rw-r--r-- 1 ole ole 121 Dez 21 13:37 C2.class
> 
> bin/foo:
> insgesamt 4
> -rw-r--r-- 1 ole ole 121 Dez 21 13:37 C1.class

Wenn wir dasselbe Buildscript mit unterschiedlichen Ergebnissen laufen
lassen, liegt die Vermutung nahe, dass es an unterschiedlichen
Toolversionen/-varianten liegt. Ich habe hier

java version "1.8.0_73"
Java(TM) SE Runtime Environment (build 1.8.0_73-b02)
Java HotSpot(TM) 64-Bit Server VM (build 25.73-b02, mixed mode)

und

Apache Ant(TM) version 1.9.5 compiled on May 31 2015

Wie schaut das bei Dir aus?

Vielleicht sollte man erst mal lokalisieren, ob es an Ant oder javac
liegt...

<snip>
$ rm -r bin/*
$ javac -sourcepath src -d bin src/bar/C2.java
$ tree bin/
bin/
├── bar
│   └── C2.class
└── foo
    └── C1.class

2 directories, 2 files
$ rm -r bin/*
$ javac -sourcepath src -d bin -classpath lib/foo.jar src/bar/C2.java
$ tree bin/
bin/
└── bar
    └── C2.class

1 directory, 1 file
</snip>

Bekommst Du die gleichen Ergebnisse? Falls ja, ant vielleicht mal mit
"-v" laufen lassen, um den javac-Aufruf zu sehen.

>> Einen in sich inkonsistenten Sourcebaum halte ich allerdings für eine
>> äußerst schlechte Idee.
> 
> Er ist ja nicht inkonsistent.

Wenn das Compilieren dieses Sourcetrees zu Fehlern führt, dann schon
irgendwie. :)

> Erklärung: Ich brauche das, um Debian-Pakete zu bauen. Dazu ist es
> nötig, dass einige Dateien angepasst werden; u.a. weil bestimmte
> Abhängigkeiten in Debian nicht verfügbar sind. Diese Anpassungen
> betreffen im vorliegenden Fall C1, das ich aber schon als eigenes Paket
> pflege. In dem anderen Paket ist die Datei aber enthalten, weil der
> Autor (von beiden Dateien) gerne möchte, dass man C2 auch kompilieren
> kann, wenn man sich nicht vorher das andere Jar-File gebaut hat. In
> Debian möchte ich dagegen keine Code-Kopien verwalten, sondern die
> benötigten Klassen über Abhängigkeiten einbinden.
> 
> Ein Grund hier ist, dass ich die genannten nötigen Änderungen nur an
> einer Stelle pflegen möchte -- bei C1. Daher lautet meine Aufgabe:
> Kompiliere C2, ohne dass die Convenience Copy C1 mitkompiliert wird (was
> zu einer Fehlermeldung führen würde).

Verstehe. Finde ich immer noch herzlich unschön, aber dann liegt die
"äußerst schlechte Idee" eher beim Autor, und Du darfst den
Kollateralschaden verwalten...

Viele Grüße,
Patrick

Back to de.comp.lang.java | Previous | NextPrevious in thread | Next in thread | Find similar


Thread

Ant an Kompilation hindern? ole-usenet-spam@gmx.net (Оlе Ѕtrеісhеr) - 2016-12-20 14:38 +0100
  Re: Ant an Kompilation hindern? Patrick Roemer <sangamon@netcologne.de> - 2016-12-20 17:24 +0100
    Re: Ant an Kompilation hindern? ole-usenet-spam@gmx.net (Оlе Ѕtrеісhеr) - 2016-12-21 13:48 +0100
      Re: Ant an Kompilation hindern? Patrick Roemer <sangamon@netcologne.de> - 2016-12-21 15:44 +0100
        Re: Ant an Kompilation hindern? ole-usenet-spam@gmx.net (Оlе Ѕtrеісhеr) - 2016-12-21 15:52 +0100
          Re: Ant an Kompilation hindern? Patrick Roemer <sangamon@netcologne.de> - 2016-12-21 17:12 +0100

csiph-web