Skip to content

Commit 5f7eb5d

Browse files
committed
CakePHP framework provider added
Just CakePHP project is recognized.
1 parent 545d112 commit 5f7eb5d

File tree

5 files changed

+121
-3
lines changed

5 files changed

+121
-3
lines changed

nbproject/genfiles.properties

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
1-
build.xml.data.CRC32=3594e381
1+
build.xml.data.CRC32=dd468412
22
build.xml.script.CRC32=509b06b8
33
build.xml.stylesheet.CRC32=[email protected]
44
# This file is used by a NetBeans-based IDE to track changes in generated files such as build-impl.xml.
55
# Do not edit this file. You may delete it but then the IDE will never regenerate such files for you.
6-
nbproject/build-impl.xml.data.CRC32=3594e381
6+
nbproject/build-impl.xml.data.CRC32=dd468412
77
nbproject/build-impl.xml.script.CRC32=66d0a2dd
88
nbproject/build-impl.xml.stylesheet.CRC32=[email protected]

nbproject/project.xml

Lines changed: 26 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,32 @@
55
<data xmlns="http://www.netbeans.org/ns/nb-module-project/3">
66
<code-name-base>org.cakephp.netbeans</code-name-base>
77
<standalone/>
8-
<module-dependencies/>
8+
<module-dependencies>
9+
<dependency>
10+
<code-name-base>org.netbeans.modules.php.api.phpmodule</code-name-base>
11+
<build-prerequisite/>
12+
<compile-dependency/>
13+
<run-dependency>
14+
<specification-version>1.41</specification-version>
15+
</run-dependency>
16+
</dependency>
17+
<dependency>
18+
<code-name-base>org.openide.filesystems</code-name-base>
19+
<build-prerequisite/>
20+
<compile-dependency/>
21+
<run-dependency>
22+
<specification-version>7.39</specification-version>
23+
</run-dependency>
24+
</dependency>
25+
<dependency>
26+
<code-name-base>org.openide.util</code-name-base>
27+
<build-prerequisite/>
28+
<compile-dependency/>
29+
<run-dependency>
30+
<specification-version>8.7</specification-version>
31+
</run-dependency>
32+
</dependency>
33+
</module-dependencies>
934
<public-packages/>
1035
</data>
1136
</configuration>
Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
# TODO: add license
2+
3+
LBL_CakePhpFramework=Cake PHP Web Framework
4+
LBL_CakePhpDescription=TODO: provide better description
Lines changed: 89 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,89 @@
1+
/*
2+
* TODO: add license
3+
*/
4+
5+
package org.cakephp.netbeans;
6+
7+
import java.io.File;
8+
import org.netbeans.modules.php.api.phpmodule.BadgeIcon;
9+
import org.netbeans.modules.php.api.phpmodule.PhpModule;
10+
import org.netbeans.modules.php.api.phpmodule.PhpModuleProperties;
11+
import org.netbeans.modules.php.spi.commands.FrameworkCommandSupport;
12+
import org.netbeans.modules.php.spi.editor.EditorExtender;
13+
import org.netbeans.modules.php.spi.phpmodule.PhpFrameworkProvider;
14+
import org.netbeans.modules.php.spi.phpmodule.PhpModuleActionsExtender;
15+
import org.netbeans.modules.php.spi.phpmodule.PhpModuleExtender;
16+
import org.netbeans.modules.php.spi.phpmodule.PhpModuleIgnoredFilesExtender;
17+
import org.openide.filesystems.FileObject;
18+
import org.openide.util.ImageUtilities;
19+
import org.openide.util.NbBundle;
20+
21+
public final class CakePhpFrameworkProvider extends PhpFrameworkProvider {
22+
23+
// TODO: provide better badge icon
24+
private static final String ICON_PATH = "org/cakephp/netbeans/ui/resources/cakephp_badge_8.png"; // NOI18N
25+
private static final CakePhpFrameworkProvider INSTANCE = new CakePhpFrameworkProvider();
26+
27+
private final BadgeIcon badgeIcon;
28+
29+
private CakePhpFrameworkProvider() {
30+
super(NbBundle.getMessage(CakePhpFrameworkProvider.class, "LBL_CakePhpFramework"), NbBundle.getMessage(CakePhpFrameworkProvider.class, "LBL_CakePhpDescription"));
31+
badgeIcon = new BadgeIcon(
32+
ImageUtilities.loadImage(ICON_PATH),
33+
CakePhpFrameworkProvider.class.getResource("/" + ICON_PATH)); // NOI18N
34+
}
35+
36+
@PhpFrameworkProvider.Registration(position=500)
37+
public static CakePhpFrameworkProvider getInstance() {
38+
return INSTANCE;
39+
}
40+
41+
@Override
42+
public BadgeIcon getBadgeIcon() {
43+
return badgeIcon;
44+
}
45+
46+
@Override
47+
public boolean isInPhpModule(PhpModule phpModule) {
48+
// TODO: is this detection enough?
49+
FileObject cake = phpModule.getSourceDirectory().getFileObject("cake"); // NOI18N
50+
return cake != null && cake.isFolder();
51+
}
52+
53+
@Override
54+
public File[] getConfigurationFiles(PhpModule phpModule) {
55+
return new File[0];
56+
}
57+
58+
@Override
59+
public PhpModuleExtender createPhpModuleExtender(PhpModule phpModule) {
60+
// TODO: can we non-interactively create a project via 'cake' command?
61+
return null;
62+
}
63+
64+
@Override
65+
public PhpModuleProperties getPhpModuleProperties(PhpModule phpModule) {
66+
return new PhpModuleProperties();
67+
}
68+
69+
@Override
70+
public PhpModuleActionsExtender getActionsExtender(PhpModule phpModule) {
71+
return null;
72+
}
73+
74+
@Override
75+
public PhpModuleIgnoredFilesExtender getIgnoredFilesExtender(PhpModule phpModule) {
76+
return null;
77+
}
78+
79+
@Override
80+
public FrameworkCommandSupport getFrameworkCommandSupport(PhpModule phpModule) {
81+
// TODO: provide list of commands (preferably in XML format)
82+
return null;
83+
}
84+
85+
@Override
86+
public EditorExtender getEditorExtender(PhpModule phpModule) {
87+
return null;
88+
}
89+
}
399 Bytes
Loading

0 commit comments

Comments
 (0)