2017-08-30 2 views
0

私はSpoonとAstorの新しいユーザーです。最近、Astor(SpoonLabs/astor)を使っていくつかの自動バグ修復作業を行っています。スプーンを使ってHadoopプロジェクトをコンパイルする方法

Astorは最初にSpoonライブラリを使用してプロジェクトソースコードをコンパイルして分析します。今私は小さなプロジェクトをうまく合成するためにスプーンを使うことができますが、Hadoopサブモジュール(例えばhadoop/hadoop-common-project/hadoop-auth)をうまくコンパイルできません。

スプーンは、モデルのコンパイルに問題があります。 Spoonはpackage-info.javaファイルから宣言された型を取得できないようです。この問題を解決する方法を知っている人はいますか?どうもありがとう!

ログ情報を以下にリストされている:

2017-08-30 17:59:15,128 INFO main - building model: /Users/someone/git/astor/./outputMutation/AstorMain-11859hadp//src//default, compliance level: 8 
2017-08-30 17:59:15,136 INFO main - Classpath for building SpoonModel [too long to list all of them] 
2017-08-30 17:59:16,885 ERROR main - Problem compiling the model with compliance level 8 
2017-08-30 17:59:16,885 ERROR main - inconsistent compilation unit: '/Users/someone/git/astor/outputMutation/AstorMain-11859hadp/src/default/org/apache/hadoop/security/authentication/server/package-info.java': declared types are [] 
2017-08-30 17:59:16,885 INFO main - building model: /Users/someone/git/astor/./outputMutation/AstorMain-11859hadp//src//default, compliance level: 7 
2017-08-30 17:59:16,887 INFO main - Classpath for building SpoonModel [too long to list all of them] 
Exception in thread "main" java.lang.RuntimeException: inconsistent compilation unit: '/Users/someone/git/astor/outputMutation/AstorMain-11859hadp/src/default/org/apache/hadoop/security/authentication/server/package-info.java': declared types are [] 
    at spoon.support.reflect.cu.CompilationUnitImpl.getMainType(CompilationUnitImpl.java:68) 
    at spoon.support.compiler.jdt.JDTBasedSpoonCompiler.generateProcessedSourceFilesUsingCUs(JDTBasedSpoonCompiler.java:498) 
    at spoon.support.compiler.jdt.JDTBasedSpoonCompiler.generateProcessedSourceFiles(JDTBasedSpoonCompiler.java:203) 
    at spoon.support.compiler.jdt.JDTBasedSpoonCompiler.generateProcessedSourceFiles(JDTBasedSpoonCompiler.java:192) 
    at fr.inria.astor.core.manipulation.MutationSupporter.buildModel(MutationSupporter.java:90) 
    at fr.inria.astor.core.manipulation.MutationSupporter.buildModel(MutationSupporter.java:71) 
    at fr.inria.astor.approaches.jgenprog.JGenProg.initModel(JGenProg.java:152) 
    at fr.inria.astor.approaches.jgenprog.JGenProg.createInitialPopulation(JGenProg.java:62) 
    at fr.inria.main.evolution.AstorMain.createEngine(AstorMain.java:97) 
    at fr.inria.main.evolution.AstorMain.run(AstorMain.java:142) 
    at fr.inria.main.AbstractMain.executeExample(AbstractMain.java:708) 
    at fr.inria.main.evolution.AstorMain.execute(AstorMain.java:209) 
    at fr.inria.main.evolution.AstorMain.main(AstorMain.java:199) 
    at fr.inria.main.evolution.MainjGenProg.main(MainjGenProg.java:14) 

package-info.javaファイル:

/* 
* Licensed to the Apache Software Foundation (ASF) under one 
* or more contributor license agreements. See the NOTICE file 
* distributed with this work for additional information 
* regarding copyright ownership. The ASF licenses this file 
* to you under the Apache License, Version 2.0 (the 
* "License"); you may not use this file except in compliance 
* with the License. You may obtain a copy of the License at 
* 
*  http://www.apache.org/licenses/LICENSE-2.0 
* 
* Unless required by applicable law or agreed to in writing, software 
* distributed under the License is distributed on an "AS IS" BASIS, 
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 
* See the License for the specific language governing permissions and 
* limitations under the License. 
*/ 

/** 
* Provides the server-side framework for authentication. 
*/ 
@InterfaceAudience.LimitedPrivate({ "HBase", "HDFS", "MapReduce" }) 
@InterfaceStability.Evolving 
package org.apache.hadoop.security.authentication.server; 

import org.apache.hadoop.classification.InterfaceAudience; 
import org.apache.hadoop.classification.InterfaceStability; 

答えて

0

私はここにあなたの問題のために適切な場所であるのStackOverflowとは思わない:それはどちらかですスプーンやアスターのバグ。 Astor(https://github.com/SpoonLabs/astor/issues)で問題を開くと、AstorまたはSpoonに関連するかどうかがわかります。 可能な場合は、問題を作成するときにAstorで使用した完全なコマンドライン引数を入力してください。そうすれば、バグを簡単に複製することができます。

+0

パッケージ情報を正しく処理しないアスタには問題があります。 –

+0

Thxさん、ただそれを投稿しました。 https://github.com/SpoonLabs/astor/issues/59 – Euphie

関連する問題