War plugin, providedCompile, implementation, compileOnly

Hello,

I was wondering if someone could give me a definitive answer on this topic Are these dependencies declaration equivalents when used inside with a war plugin:

dependencies {
    providedCompile project(':myjar')
    providedCompile group: 'log4j', name: 'log4j', version: '1.2.17'		     
}

dependencies {
    implementation project(':myjar')
    implementation group: 'log4j', name: 'log4j', version: '1.2.17'		     
}

dependencies {
    compileOnly project(':myjar')
    compileOnly group: 'log4j', name: 'log4j', version: '1.2.17'		     
}

If the result is the same, (using the dependency for compilation but not including it in the /lib inside the war), which is the most correct to use?

Thanks