Existe um arquivo de configuração do vraptor scaffold dentro da pasta META-INF.
Com ele eu consigo setar o package onde é para gerar os artefatos e o template engine.
Agora não achei a configuração de onde vão ficar minhas jsps… Parece que o padrão é src/main/java/, não consigo mudar para war/
Obrigado!
as jsps seguem o mesmo padrão que o VRaptor… no caso do gae war/WEB-INF/jsps
Não saquei…
O vraptor-scaffold.properties está em war/META-INF/
Como mudo a configuração de onde o vraptor scaffold vai buscar esse arquivo?
Segue o erro aí.
/home/c1233611/.rvm/rubies/ree-1.8.7-2010.02/lib/ruby/1.8/yaml.rb:143:in `initialize': No such file or directory - src/main/webapp/META-INF/vraptor-scaffold.properties (Errno::ENOENT)
from /home/c1233611/.rvm/rubies/ree-1.8.7-2010.02/lib/ruby/1.8/yaml.rb:143:in `open'
from /home/c1233611/.rvm/rubies/ree-1.8.7-2010.02/lib/ruby/1.8/yaml.rb:143:in `load_file'
from /home/c1233611/.rvm/gems/ree-1.8.7-2010.02/gems/vraptor-scaffold-0.0.4/bin/../lib/configuration.rb:12:in `config'
from /home/c1233611/.rvm/gems/ree-1.8.7-2010.02/gems/vraptor-scaffold-0.0.4/bin/../lib/configuration.rb:20:in `package'
from /home/c1233611/.rvm/gems/ree-1.8.7-2010.02/gems/vraptor-scaffold-0.0.4/bin/../lib/configuration.rb:24:in `main_class_path'
from /home/c1233611/.rvm/gems/ree-1.8.7-2010.02/gems/vraptor-scaffold-0.0.4/bin/../lib/../lib/generators/scaffold_generator/controller_generator/controller_generator.rb:8:in `build'
from /home/c1233611/.rvm/gems/ree-1.8.7-2010.02/gems/vraptor-scaffold-0.0.4/bin/../lib/../lib/generators/scaffold_generator/scaffold_generator.rb:20:in `controller_generator'
from /home/c1233611/.rvm/gems/ree-1.8.7-2010.02/gems/thor-0.14.4/lib/thor/task.rb:22:in `send'
from /home/c1233611/.rvm/gems/ree-1.8.7-2010.02/gems/thor-0.14.4/lib/thor/task.rb:22:in `run'
from /home/c1233611/.rvm/gems/ree-1.8.7-2010.02/gems/thor-0.14.4/lib/thor/invocation.rb:118:in `invoke_task'
from /home/c1233611/.rvm/gems/ree-1.8.7-2010.02/gems/thor-0.14.4/lib/thor/invocation.rb:124:in `invoke_all'
from /home/c1233611/.rvm/gems/ree-1.8.7-2010.02/gems/thor-0.14.4/lib/thor/shell.rb:14:in `map'
from /home/c1233611/.rvm/gems/ree-1.8.7-2010.02/gems/thor-0.14.4/lib/thor/core_ext/ordered_hash.rb:73:in `each'
from /home/c1233611/.rvm/gems/ree-1.8.7-2010.02/gems/thor-0.14.4/lib/thor/invocation.rb:124:in `map'
from /home/c1233611/.rvm/gems/ree-1.8.7-2010.02/gems/thor-0.14.4/lib/thor/invocation.rb:124:in `invoke_all'
from /home/c1233611/.rvm/gems/ree-1.8.7-2010.02/gems/vraptor-scaffold-0.0.4/bin/../lib/vraptor-scaffold.rb:24:in `run_scaffold_generator'
from /home/c1233611/.rvm/gems/ree-1.8.7-2010.02/gems/vraptor-scaffold-0.0.4/bin/../lib/vraptor-scaffold.rb:10:in `execute'
from /home/c1233611/.rvm/gems/ree-1.8.7-2010.02/gems/vraptor-scaffold-0.0.4/bin/vraptor:6
from /home/c1233611/.rvm/gems/ree-1.8.7-2010.02/bin/vraptor:19:in `load'
from /home/c1233611/.rvm/gems/ree-1.8.7-2010.02/bin/vraptor:19
Olá Arthur,
o arquivo vraptor-scaffold.properties fica nesse caminho src/main/webapp/META-INF/vraptor-scaffold.properties
a principio não é possível mudar a localização dele.
Sobre o suporte a gae tem uma issue aberta https://github.com/caelum/vraptor-scaffold/issues#issue/17 para gerar um projeto compativel com o gae algo do tipo
eu não entendi mto bem sua dúvida, era isso que vc queria saber?
como vc fez para gerar o erro abaixo?
A minha estrutura de projeto não tem src/main/webapp, tem war/
crie esse arquivo então:
src/main/webapp/META-INF/vraptor-scaffold.properties
com o conteúdo do que está na pasta war
o gerador do scaffold espera que o projeto tenha essa estrutura src/main/webapp
você criou esse projeto com o scaffold ou é um projeto antigo que vc esta tentando adaptar o scaffold?
justamente rodolfo.
Peguei o blank-project-gae e estou adaptando para o vraptor-scaffold.
[quote=Lucas Cavalcanti]crie esse arquivo então:
src/main/webapp/META-INF/vraptor-scaffold.properties
com o conteúdo do que está na pasta war[/quote]
é, eu posso a passar a usar a estrutura padrão.
Se fosse em java eu tentaria “coçar minha própria coceira”, o lance é que ainda to meio por fora de ruby. ;~
mas é isso aê, valeu galera!
Arhtur se vc quiser adaptar o scaffold ao gae e nao tem sabe mto de ruby faz o seguinte.
gera a estrutura padrão do vraptor scaffold
ai vc faz todas as alteraçoes para funcionar no gae. então vc pode ia la na issue https://github.com/caelum/vraptor-scaffold/issues#issue/17
e colocar o que precisa ser feito para ser compativel. Ai eu implemento a funcionalidade.
o que acha?
se vc pudesse fazer isso ia ser mto util.
att.
Segue o projeto em branco do vraptor-gae… --build-tool dele é a default mesmo, ant+ivy. Já adicionei o framework de persistencia também, objectify.
Link do projeto: https://arthurmc@github.com/arthurmc/vraptor-gae-ant-ivy-objectify-blank-project.git
Pra você saber o que adicionar apartir do projeto que eu criei, segue uma listagem de arquivos gerados apartir do vraptor scaffold default com um indicador no final de cada linha.
Para rodar o projeto no eclipse, fazer os seguintes passos:
- ant resolve (no terminal)
- copiar os arquivos de libs-vraptor-gae/ para src/main/webapp/WEB-INF/lib/
- adicionar ao build path os jars do diretórios e subdiretórios de lib/
- adicionar ao build path os jars do diretório libs-vraptor-gae/
[code]
- = substitui o da criação padrão pelo o que eu fiz.
& = exclui o arquivo da criação do projeto
% = mantém o arquivo na criação do projeto.
create .project *
create .classpath *
create .settings * inclusive os arquivos que estão dentro da pasta.
create .settings/org.eclipse.jdt.core.prefs &
create .settings/org.eclipse.wst.common.component &
create .settings/org.eclipse.wst.common.project.facet.core.xml &
create .settings/org.eclipse.wst.jsdt.ui.superType.container &
create .settings/org.eclipse.wst.jsdt.ui.superType.name &
create build.xml *
create build.properties *
create ivy.xml *
create ivy-2.2.0.jar %
create src/main/java %
create src/main/java/app %
create src/main/java/app/controllers %
create src/main/java/app/models/Entity.java *
create src/main/java/app/repositories/Repository.java *
create src/main/resources %
create src/main/resources/META-INF/persistence.xml %
create src/main/resources/log4j.properties %
create src/main/resources/messages.properties &
create src/main/webapp %
create src/main/webapp/WEB-INF/web.xml *
create src/main/webapp/images %
create src/main/webapp/index.jsp %
create src/main/webapp/javascripts/jquery.min.js %
create src/main/webapp/stylesheets/scaffold.css %
create src/main/webapp/META-INF/vraptor-scaffold.properties %
create src/main/webapp/WEB-INF/decorators.xml %
create src/main/webapp/WEB-INF/decorators/main.jsp %
create src/main/webapp/WEB-INF/jsp %
create src/test/java %
create src/test/java/app %
create src/test/java/app/controllers %
create src/test/java/app/models %
create src/test/java/app/repositories %
create src/test/resources %
Passar a criar:
libs-vraptor-gae/*.jars -> Na verdade eu gostaria de instalar esses jars manualmente usando o ivy, mas não sei como fazer isso. Eles não existem em repositórios publicos.
src/main/webapp/WEB-INF/appengine-web.xml[/code]
Acho que é isso cara.
Se faltou alguma coisa ou tiver alguma dúvida, fala aí pra gente conseguir fazer esse lance.
Valeu!
Adicionei uma classe: CriadorDeSessaoDB.
Um @Component request scoped que cria a sessão do objectify.
Claro, se essa não for a melhor forma de fazer isso, aí você faz ou me fala como faz.
Ah, se o nome também não for bom, muda também. hehe
valeu.
Arhtur,
excelente trabalho.
eu adicionei essa thread do guj e o link do seu projeto la na issue no github.
agora vou começar a implementar
Seu projeto esta fazendo um crud de alguma entidade?
está fazendo o crud sim.
Falando em crud, eu gostaria de testar minhas conversas com o banco. Não estou conseguindo usar o objectify nos testes :/. Se alguém aí souber como, por favor!
Valey!
Na verdade não. Esse projeto da url que eu passei não faz nenhum crud.
Porém se gerar qualquer modelo apartir do vraptor scaffold e utilizar o Repository genérico (que já está adaptado para o objectify), irá funcionar.
Adicionei uma classe no projeto.
TestBase.java é uma classe que configura o banco de dados local sem precisar do servidor web.
Só extender e fazer os testes de integração
Peguei aqui: http://code.google.com/p/objectify-appengine/source/browse/trunk/src/com/googlecode/objectify/test/TestBase.java?r=606