1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20 package com.github.maven_nar;
21
22 import java.io.File;
23
24 import org.apache.maven.plugin.MojoExecutionException;
25 import org.apache.maven.plugin.MojoFailureException;
26 import org.apache.maven.project.MavenProject;
27 import org.apache.maven.project.MavenProjectHelper;
28 import org.codehaus.plexus.archiver.manager.ArchiverManager;
29
30
31
32
33
34
35
36
37 public interface NarLayout {
38
39
40
41
42 void
43 attachNars(File baseDir, ArchiverManager archiverManager, MavenProjectHelper projectHelper, MavenProject project)
44 throws MojoExecutionException, MojoFailureException;
45
46
47
48
49
50
51 File getBinDirectory(File baseDir, String artifactId, String version, String aol)
52 throws MojoExecutionException, MojoFailureException;
53
54
55
56
57
58
59 File getIncludeDirectory(File baseDir, String artifactId, String version)
60 throws MojoExecutionException, MojoFailureException;
61
62
63
64
65
66
67
68
69 File getLibDirectory(File baseDir, String artifactId, String version, String aol, String type)
70 throws MojoExecutionException, MojoFailureException;
71
72
73
74
75 File getNarUnpackDirectory(File baseUnpackDirectory, File narFile);
76
77
78
79
80 File getNoArchDirectory(File baseDir, String artifactId, String version)
81 throws MojoExecutionException, MojoFailureException;
82
83
84
85
86
87 void prepareNarInfo(File baseDir, MavenProject project, NarInfo narInfo, AbstractNarMojo libraryName)
88 throws MojoExecutionException;
89
90
91
92
93
94
95
96 void
97 unpackNar(File baseDir, ArchiverManager archiverManager, File file, String os, String linkerName, AOL defaultAOL)
98 throws MojoExecutionException, MojoFailureException;
99
100 }