<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Lucas Teixeira &#187; dependencia</title>
	<atom:link href="http://lucastex.com.br/tag/dependencia/feed/" rel="self" type="application/rss+xml" />
	<link>http://lucastex.com.br</link>
	<description>@lucastex</description>
	<lastBuildDate>Fri, 07 Jan 2011 12:44:47 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Resolvendo dependências de sua aplicação Grails usando Ivy</title>
		<link>http://lucastex.com.br/2010/02/28/resolvendo-dependencias-de-sua-aplicacao-grails-usando-ivy/</link>
		<comments>http://lucastex.com.br/2010/02/28/resolvendo-dependencias-de-sua-aplicacao-grails-usando-ivy/#comments</comments>
		<pubDate>Sun, 28 Feb 2010 04:45:14 +0000</pubDate>
		<dc:creator>Lucas Teixeira</dc:creator>
				<category><![CDATA[Grails]]></category>
		<category><![CDATA[ivy]]></category>
		<category><![CDATA[buildconfig]]></category>
		<category><![CDATA[dependencia]]></category>
		<category><![CDATA[libs]]></category>
		<category><![CDATA[maven]]></category>

		<guid isPermaLink="false">http://lucastex.com.br/?p=307</guid>
		<description><![CDATA[

Estamos fazendo o desenho do plugin do Solr para o Grails, e precisei das libs do solr/lucene. Dessa vez quis fazer diferente e usar o gerenciamento de dependências que o grails traz usando o ivy. Pra mim, que nunca tinha trabalhado com ivy antes, foi bem simples até.
Bastou eu levantar os grupos/artifactsId e versão do [...]]]></description>
			<content:encoded><![CDATA[
<div class="topsy_widget_data topsy_theme_blue" style="float: right;margin-left: 0.75em; background: url(data:,%7B%20%22url%22%3A%20%22http%253A%252F%252Flucastex.com.br%252F2010%252F02%252F28%252Fresolvendo-dependencias-de-sua-aplicacao-grails-usando-ivy%252F%22%2C%20%22shorturl%22%3A%20%22http%3A%2F%2Fbit.ly%2Fc00XnA%22%2C%20%22style%22%3A%20%22big%22%2C%20%22title%22%3A%20%22Resolvendo%20depend%C3%AAncias%20de%20sua%20aplica%C3%A7%C3%A3o%20Grails%20usando%20Ivy%22%20%7D);"></div>
<p>Estamos fazendo o desenho do plugin do Solr para o Grails, e precisei das libs do solr/lucene. Dessa vez quis fazer diferente e usar o gerenciamento de dependências que o grails traz usando o ivy. Pra mim, que nunca tinha trabalhado com ivy antes, foi bem simples até.</p>
<p>Bastou eu levantar os grupos/artifactsId e versão do solr-core e do solrj (1.4) e adicionar no meu <strong>BuildConfig.groovy. </strong>Consegui estas informações no próprio <a href="http://wiki.apache.org/solr">wiki do solr,</a> nesta página: <a href="http://wiki.apache.org/solr/Solrj#Maven">http://wiki.apache.org/solr/Solrj#Maven</a></p>
<p>Depois disso, bastou adicionar um repositório para buscar os jars</p>
<pre class="brush: groovy; title: ;">repositories {
    mavenRepo &quot;http://mirrors.ibiblio.org/pub/mirrors/maven2&quot;
}</pre>
<p>E declarar as dependências que eu precisaria em runtime:</p>
<div id="_mcePaste">
<pre class="brush: groovy; title: ;">dependencies {
    runtime 'org.apache.solr:solr-core:1.4.0'
    runtime 'org.apache.solr:solr-solrj:1.4.0'
}</pre>
</div>
<div>Depois, foi só rodar a aplicação que os jars já estavam todos carregados e prontos para serem importados, ponto para o Grails.</div>
<div></div>
<div></div>

]]></content:encoded>
			<wfw:commentRss>http://lucastex.com.br/2010/02/28/resolvendo-dependencias-de-sua-aplicacao-grails-usando-ivy/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>Gerenciamento de dependências com Grape</title>
		<link>http://lucastex.com.br/2009/10/30/gerenciamento-de-dependencias-com-grape/</link>
		<comments>http://lucastex.com.br/2009/10/30/gerenciamento-de-dependencias-com-grape/#comments</comments>
		<pubDate>Fri, 30 Oct 2009 17:47:25 +0000</pubDate>
		<dc:creator>Lucas Teixeira</dc:creator>
				<category><![CDATA[Groovy]]></category>
		<category><![CDATA[dependencia]]></category>
		<category><![CDATA[ivy]]></category>
		<category><![CDATA[libs]]></category>
		<category><![CDATA[maven]]></category>

		<guid isPermaLink="false">http://lucastex.com.br/?p=112</guid>
		<description><![CDATA[

Mais uma maneira de se gerenciar dependências :)
Agora é a vez do Grape, um módulo construindo em Groovy que abstrai toda aquela configuração do maven/ivy que vc teria por padrão. O grande diferencial do Grape, é que ele traz essa configuração mais para perto de quem precisa dela, ou seja, no próprio código fonte!
Funciona basicamente [...]]]></description>
			<content:encoded><![CDATA[
<div class="topsy_widget_data topsy_theme_blue" style="float: right;margin-left: 0.75em; background: url(data:,%7B%20%22url%22%3A%20%22http%253A%252F%252Flucastex.com.br%252F2009%252F10%252F30%252Fgerenciamento-de-dependencias-com-grape%252F%22%2C%20%22style%22%3A%20%22big%22%2C%20%22title%22%3A%20%22Gerenciamento%20de%20depend%C3%AAncias%20com%20Grape%22%20%7D);"></div>
<p>Mais uma maneira de se gerenciar dependências :)</p>
<p>Agora é a vez do <a href="http://groovy.codehaus.org/Grape" target="_blank">Grape</a>, um módulo construindo em <a href="http://groovy.codehaus.org/" target="_blank">Groovy</a> que abstrai toda aquela configuração do maven/ivy que vc teria por padrão. O grande diferencial do Grape, é que ele traz essa configuração mais para perto de quem precisa dela, ou seja, no próprio código fonte!</p>
<p>Funciona basicamente assim, você anota o seu método que irá precisar da dependência com a anotação <strong>@Grab</strong> dizendo qual é o grupo, artefato e versão da biblioteca que você precisa e pronto! Quando a classe for carregada, esta anotação irá disparar o download desta dependência automaticamente. Os arquivos que são baixados via grape são guardados dentro do diretório do usuário na pasta <em>.groovy/grapes</em></p>
<p>Segue um simples exemplo que depende do commons-lang 2.4 e usa um método simples da classe StringUtils para trocar o case de uma string.</p>
<pre class="brush: groovy; title: ;">import org.apache.commons.lang.StringUtils

@Grab(group='commons-lang', module='commons-lang', version='2.4')
void testGrape() {

   def name = &quot;Lucas Frare Teixeira&quot;
   println StringUtils.swapCase(name) //lUCAS fRARE tEIXEIRA

}

//Chama a execução do método
testGrape()</pre>
<p>Veja que a únca coisa que precisamos fazer, é anotar o método com a dependência e ele fica responsável por fazer o download.</p>
<p>Mas, conversando com o <a href="http://www.twitter.com/paulosuzart" target="_blank">@paulosuzart</a> do <a href="http://codemountain.wordpress.com/" target="_blank">CodeMountain</a>, chegamos a conclusão, que sistemas de maior porte, merecem um controle de dependências mais centralizado e até por que não dizer, organizado.</p>
<p>Ou seja, fica a minha dica de uso do Grape para a distribuição de scripts e arquivos pequenos, para evitar aquela coisa chata de enviar jars, setar classpath, ou então ter arquivos pom que definem dependência e etc.</p>
<p>Para evitar esta dor de cabeça, sem dúvidas o <a href="http://groovy.codehaus.org/Grape">grape</a> é ideal!</p>

]]></content:encoded>
			<wfw:commentRss>http://lucastex.com.br/2009/10/30/gerenciamento-de-dependencias-com-grape/feed/</wfw:commentRss>
		<slash:comments>8</slash:comments>
		</item>
	</channel>
</rss>

