Check alle échte Black Friday-deals Ook zo moe van nepaanbiedingen? Wij laten alleen échte deals zien

[ANT] loop met propertyfile

Pagina: 1
Acties:

  • ryanoz
  • Registratie: April 2014
  • Laatst online: 23-07 04:19
Beste mede-tweakers,

Ik hoop dat jullie mij kunnen helpen met een oplossing voor het onderstaande probleem, dit probleem moet ik met ANT oplossen. Ik ben inmiddels een paar uur verder, maar kom er echt niet uit.

Ik heb een property file waarvan de inhoud dynamisch is ;
user1=password1
user2=password2
user3=password3

Daarnaast heb ik een xml file (ook dynamisch) met grofweg onderstaande opmaak;
<users>
<user>
<name>user1</name>
<credentials>i-need-a-new-password</credentials>
</user>
<user>
<name>user2</name>
<credentials>i-need-a-new-password</credentials>
</user>
<user>
<name>user3</name>
<credentials>i-need-a-new-password</credentials>
</user>
</users>
Het is de bedoeling het password aan te passen wat bij de betreffende user hoort.
Ik hoop dat een van jullie mij een stuk op weg wil helpen om dit probleem op te lossen.
Bij voorbaat dank!

[ Voor 4% gewijzigd door ryanoz op 22-04-2014 20:27 ]


  • Gomez12
  • Registratie: Maart 2001
  • Laatst online: 17-10-2023
Waarom moet je dit via ANT doen?

Het zal vast wel kunnen hoor, daar niet van. Maar ik vermoed dat je dan in gekrochten van ANT moet gaan zitten wroeten waardoor het praktisch nog maar heel weinig met ANT opzich te maken heeft.

Met een willekeurig java / .net programma heb je dit binnen ongeveer een kwartier gefixed (het enige wat je moet hebben is iets wat een ini kan uitlezen en een xml kan wegschrijven en voor de rest is het iets van 5 regels code)

Ik wordt gewoon heel erg nieuwsgierig als iemand aangeeft uren bezig te zijn met (imho) de verkeerde tool. Is dit net de laatste 0,01% van een compleet build-proces dan kan ik me er iets bij voorstellen. Maar ik heb het idee dat dit meer 100% is en dan is wmb ANT not the right tool.

  • ryanoz
  • Registratie: April 2014
  • Laatst online: 23-07 04:19
Ik hoor inderdaad om mij heen dat het eenvoudig moet zijn om dit in Java of Python op te lossen.
De beperking hierbij is dat het in ANT moet, de keuze is hiervoor is bewust gemaakt.

Iig bedankt voor je reactie.

[ Voor 6% gewijzigd door ryanoz op 22-04-2014 20:45 ]


  • Herko_ter_Horst
  • Registratie: November 2002
  • Niet online
Wie heeft die keuze gemaakt dan en op basis waarvan? Want dit soort processing kan eigenlijk met goed fatsoen niet met (de standaard) Ant(-tasks). Er zijn wel 3rd-party Ant XML processing tasks te vinden online, maar of je die ook kunt koppelen aan een zooi properties...

Je bent een stuk sneller klaar met een custom Ant-task die dit voor je regelt. Da's verder gewoon Java.

"Any sufficiently advanced technology is indistinguishable from magic."


  • Merethil
  • Registratie: December 2008
  • Laatst online: 14:30
Herko_ter_Horst schreef op dinsdag 22 april 2014 @ 21:24:
Wie heeft die keuze gemaakt dan en op basis waarvan? Want dit soort processing kan eigenlijk met goed fatsoen niet met (de standaard) Ant(-tasks). Er zijn wel 3rd-party Ant XML processing tasks te vinden online, maar of je die ook kunt koppelen aan een zooi properties...

Je bent een stuk sneller klaar met een custom Ant-task die dit voor je regelt. Da's verder gewoon Java.
Ik gok dat dit een schoolopdracht is? Gezien de strictheid dat het écht alleen met ANT mag.

  • Hydra
  • Registratie: September 2000
  • Laatst online: 06-10 13:59
Merethil schreef op dinsdag 22 april 2014 @ 22:54:
[...]


Ik gok dat dit een schoolopdracht is? Gezien de strictheid dat het écht alleen met ANT mag.
Hij zou op z'n minst uit kunnen leggen wat de redenatie is. Je kunt dit best met Ant doen, door zelf een plugin te schrijven bijvoorbeeld. Maar dan ben je gewoon aan het programmeren. Of je gebruikt een 3rd-party task, maar da's bijna hetzelfde. Als je googled op " ant for loop " kom je een heel eind.

https://niels.nu


  • Gomez12
  • Registratie: Maart 2001
  • Laatst online: 17-10-2023
ryanoz schreef op dinsdag 22 april 2014 @ 20:29:
Ik hoor inderdaad om mij heen dat het eenvoudig moet zijn om dit in Java of Python op te lossen.
De beperking hierbij is dat het in ANT moet, de keuze is hiervoor is bewust gemaakt.

Iig bedankt voor je reactie.
Stel die beperking ter discussie, want gegeven jouw vraagstuk is het een krankzinnige keuze.

Simpelste alternatief is wat herko beschrijft : Maak een java-programma die dit doet en "noem" het een ant-task en je voldoet strikt aan de beperking, alleen compleet niet aan de wens.
Merethil schreef op dinsdag 22 april 2014 @ 22:54:
[...]
Ik gok dat dit een schoolopdracht is? Gezien de strictheid dat het écht alleen met ANT mag.
Juist dan compleet ter discussie stellen. Het lijkt mij in ieder geval beter dat je snapt waar ANT voor bedoeld is, dan dat je via allerlei trucs en omwegen er alles maar ingedouwd krijgt waardoor het wel werkt maar totaal niet onderhoudbaar is.

  • ryanoz
  • Registratie: April 2014
  • Laatst online: 23-07 04:19
De vraag was niet helemaal compleet, aangezien ik geen zin heb om alle details te bespreken. Maar zou voldoende input moeten zijn om onderstaande antwoord te kunnen geven;

De oplossing was om een XSL te maken, de output hiervan kon ik weer gebruiken in de build file. Deze oplossing werkt in ieder geval voor het doel waar ik het voor nodig heb. Doordat de property file toch statisch blijkt te zijn, is deze oplossing eenvoudig om te onderhouden en goed leesbaar voor de niet-Javanen.

[ Voor 16% gewijzigd door ryanoz op 26-04-2014 15:15 ]


  • Hydra
  • Registratie: September 2000
  • Laatst online: 06-10 13:59
ryanoz schreef op zaterdag 26 april 2014 @ 15:09:
De vraag was niet helemaal compleet, aangezien ik geen zin heb om alle details te bespreken.
Ja, je zal ook eens een beetje moeite doen als je anderen om hulp vraagt...

https://niels.nu

Pagina: 1