@@ -15,33 +15,37 @@ internal sealed class DockerIgnoreFile : IgnoreFile
15
15
/// Initializes a new instance of the <see cref="DockerIgnoreFile" /> class.
16
16
/// </summary>
17
17
/// <param name="dockerignoreFileDirectory">Directory that contains all docker configuration files.</param>
18
- /// <param name="dockerignoreFile ">.dockerignore file name .</param>
18
+ /// <param name="dockerignoreFileExtension ">.dockerignore file extension .</param>
19
19
/// <param name="dockerfileFile">Dockerfile file name.</param>
20
20
/// <param name="logger">The logger.</param>
21
- public DockerIgnoreFile ( string dockerignoreFileDirectory , string dockerignoreFile , string dockerfileFile , ILogger logger )
22
- : this ( new DirectoryInfo ( dockerignoreFileDirectory ) , dockerignoreFile , dockerfileFile , logger )
21
+ public DockerIgnoreFile ( string dockerignoreFileDirectory , string dockerignoreFileExtension , string dockerfileFile , ILogger logger )
22
+ : this ( new DirectoryInfo ( dockerignoreFileDirectory ) , dockerignoreFileExtension , dockerfileFile , logger )
23
23
{
24
24
}
25
25
26
26
/// <summary>
27
27
/// Initializes a new instance of the <see cref="DockerIgnoreFile" /> class.
28
28
/// </summary>
29
29
/// <param name="dockerignoreFileDirectory">Directory that contains all docker configuration files.</param>
30
- /// <param name="dockerignoreFile ">.dockerignore file name .</param>
30
+ /// <param name="dockerignoreFileExtension ">.dockerignore file extension .</param>
31
31
/// <param name="dockerfileFile">Dockerfile file name.</param>
32
32
/// <param name="logger">The logger.</param>
33
- public DockerIgnoreFile ( FileSystemInfo dockerignoreFileDirectory , string dockerignoreFile , string dockerfileFile , ILogger logger )
34
- : base ( GetPatterns ( dockerignoreFileDirectory , dockerignoreFile , dockerfileFile ) , logger )
33
+ public DockerIgnoreFile ( FileSystemInfo dockerignoreFileDirectory , string dockerignoreFileExtension , string dockerfileFile , ILogger logger )
34
+ : base ( GetPatterns ( dockerignoreFileDirectory , dockerignoreFileExtension , dockerfileFile ) , logger )
35
35
{
36
36
}
37
37
38
- private static IEnumerable < string > GetPatterns ( FileSystemInfo dockerignoreFileDirectory , string dockerignoreFile , string dockerfileFile )
38
+ private static IEnumerable < string > GetPatterns ( FileSystemInfo dockerignoreFileDirectory , string dockerignoreFileExtension , string dockerfileFile )
39
39
{
40
- var dockerignoreFilePath = Path . Combine ( dockerignoreFileDirectory . FullName , dockerignoreFile ) ;
40
+ var customDockerIgnoreFilePath = Path . Combine ( dockerignoreFileDirectory . FullName , dockerfileFile + dockerignoreFileExtension ) ;
41
+
42
+ var dockerignoreFilePath = File . Exists ( customDockerIgnoreFilePath )
43
+ ? customDockerIgnoreFilePath
44
+ : Path . Combine ( dockerignoreFileDirectory . FullName , dockerignoreFileExtension ) ;
41
45
42
46
// These files are necessary and sent to the Docker daemon. The ADD and COPY instructions do not copy them to the image:
43
47
// https://docs.docker.com/engine/reference/builder/#dockerignore-file.
44
- var negateNecessaryFiles = new [ ] { dockerignoreFile , dockerfileFile }
48
+ var negateNecessaryFiles = new [ ] { dockerignoreFileExtension , dockerfileFile }
45
49
. Select ( file => "!" + file ) ;
46
50
47
51
var dockerignorePatterns = File . Exists ( dockerignoreFilePath )
0 commit comments