Eclipse: jätä target-hakemistot huomioimatta Monkey-skriptillä

Eclipse on kätevä, joskin välillä ärsyttäväkin sovelluskehitystyökalu, mutta on laajennettavuudessaan erinomainen. Jos jotain ominaisuutta ei löydy paketista valmiina, löytyy se aika varmasti lisäosana tai sen voi itse toteuttaa.

Kaikki Eclipseä käyttäneet varmasti tietävät, että haettaessa jotain esimerkiksi Ctrl+Shift+R (Open Resource), tulee hakutuloksiin myös kohde-hakemiston (Target folder) tiedostot, joista ainakaan itse en ole tähän mennessä ollut kiinnostunut. Tietenkin kyseiset hakemistot voi merkitä manuaalisesti Derived-tilaan, jolloin ne jätetään huomioimatta. Valitettavasti käännettäessä sovellus cleanin kanssa esimerkiksi mavenillä tai antilla, kyseinen tila häviää ja se on asetettava uudelleen. Onneksi tämänkin asian voi automatisoida.

Eclipselle on saatavilla lukuisia eri lisäosia ja ominaisuuksia ja tällä kertaa pelastuksemme on dash-projektin Monkey Script, joka JavaScriptiä käyttäen suorittaa haluamiamme tehtäviä. Lisäksi tarvitsemme sopivan skriptin, joka toteuttaa target-hakemistojen merkitsemisen. Tätäkään ei tarvitse itse alkaa uudestaan keksimään, vaan voimme käyttää valmista skriptiä. Helppoa.

Skriptien ajamista varten tarvitsemme siis Eclipse Monkey -työkalun, jonka Eclipse Update -site löytyy osoitteesta http://download.eclipse.org/technology/dash/update/. Annetaan osoite Eclipse Update Managerille ja asennetaan Eclipse Monkey ja Mozilla Rhino -palikat.

Monkey

Eclipse Monkeyn asennuksen jälkeen kopioidaan alla oleva skripti:

--- Came wiffling through the eclipsey wood ---
/*
 * Menu: Maven > Make Maven Targets Derived
 * Kudos: Donnchadh
 * License: EPL 1.0
 * DOM: http://download.eclipse.org/technology/dash/update/org.eclipse.dash.doms
 */

function main() {
  var files = resources.filesMatching(".*/pom\\.xml");
  var targetFolder;

  for each( file in files ) {
    if (targetFolder = file.eclipseObject.parent.findMember("target")) {
    	targetFolder.setDerived(true);
    }
  }
}
--- And burbled as it ran! ---

ja valitaan Eclipsen valikoista "Scripts > Paste New Script".

Monkey

Tämän jälkeen pitäisi Scripts-valikosta löytyä uusi tehtävä "Scripts > Maven > Make Maven Targets Derived" ja Project Explorerissa Eclipse Monkey Scripts -kansiosta kyseinen skripti.

Monkey Monkey

Nyt skriptin ajamisen jälkeen Eclipse ei huomioi Target-hakemistoja hakutuloksissa tai resurssia avatessa.

(via Some things to remember)

Aiheeseen liittyvät kirjoitukset

Vastaa

Sähköpostiosoitettasi ei julkaista. Pakolliset kentät on merkitty *